Uygulama Katmanları:
Data Katmanı: API'lerle etkileşimden sorumlu olan katmandır.
Domain Katmanı: Data katmanından gelen verileri dönüştürmekle görevli olan katmandır.
Business Logic Katmanı: Uygulama state'ini yöneten katmandır.
Presentation Katmanı: UI bileşenlerini state'e göre işleyen katmandır.
Domain katmanı
ham verileri business logic
katmanı tarafından tüketilen domain
'e (etki alanına) özgü modellere dönüştürür.
Business Logic
katmanı repository
'nin sağladığı domain modellerinin değişmez durumunu (immutable state) korur ve kullanıcı arayüzünden gelen girdilere tepki verir ve state'e göre değişiklik yapılması gerektiğinde depo ile iletişim kurar.
Her katman doğrudan ilişkili olmayan katmanlar arasındaki etkileşimleri önleyen bir ilişki zincirine sahip olmalıdır.
Örneğin presentation katmanı, data katmanındaki apileri doğrudan çağırmamalı veya bunlarla hiçbir şekilde etkileşimde bulunmamalıdır.
Yeniden kullanılabilirliği göz önünde bulundurarak oluşturun:
Bu tavsiye özellikle data katmanı içindir. Data katmanındaki bileşenler, belirli bir ürüne uygulamaya bağlı olmadıkları ve daha geniş topluluğa fayda sağlayabilecekleri için genellikle açık kaynak için mükemmel adaylardır.
Verileri ve domain katmanlarını paketler halinde izole etmek onları diğer uygulamalara aktarmaya veya istenirse pub.dev de yayınlamaya olanak tanır.
Belirli bir model beklemek yerine kodlanmış JSON stringlerini depolamak için genel bir API oluşturabilir böylece bu API diğer domain alanlarında yerel bir depolama API'si olarak kullanılabilir.
Not: Bu yazı very-good-flutter-architecture yazısının özeti niteliğini taşır.
Kaynak:
Top comments (2)
Muhteşem
Teşekkürler :D