# Arsitektur
Penerapan arsitektur dapat memudahkan developer dalam mengembangkan aplikasi supaya lebih mudah di maintenance. Dalam panduan ini arsitektur yang digunakan terinpirasi oleh Domain Drivern Design (DDD).
# DDD (Domain Drivern Design)
DDD digunakan untuk memisahkan layer yang diperlukan dalam pembuatan aplikasi. Pemisahan ini digunakan untuk membuat tiap-tiap layer menjadi lebih independen (unbound). Sehinggga proses maintenance menjadi lebih mudah.
Terdapat beberapa layer umum yang digunakan pada arsitektur ini. Diantaranya
- Presentation
- Application
- Infrastructure
- Domain
# Presentation
Merupakan layer yang berhubungan dengan view atau UI aplikasi.
# Application
Merupakan layer yang berhubungan dengan logic dari aplikasi. layer ini hanya sebagai penghubung ke layer yang lebih dalam
# Infrastructure
Merupakan layer yang berhubungan dengan proses pengambilan data.
# Domain
Merupakan layer model (Entity) logika model, dan aturan.
Penggunaan DDD pada flutter bisa dilihat disini (opens new window).