Middle
Uygulama geliştirmede temiz mimari ne için kullanılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Temiz Mimari (Clean Architecture), aşağıdaki hedeflere ulaşmak için kullanılır:
- Çerçevelerden bağımsızlık: Uygulamanın iş mantığı, belirli UI çerçevelerine, veritabanlarına veya dış hizmetlere bağlı değildir. Bu, bu bileşenleri kolayca değiştirmeyi sağlar ve uygulamanın çekirdeğinde önemli değişiklikler yapmadan.
- Test edilebilirlik: İş mantığının, uygulamanın detaylarından (UI, veritabanı) ayrılması sayesinde, birim ve entegrasyon testleri daha kolay izole edilir ve test edilir.
- UI bağımsızlığı: Veri gösterimi ve kullanıcı ile etkileşim, kullanım durumlarından (Use Cases) ayrılmıştır, bu da uygulamanın farklı platformlara (Mobil, Web, Masaüstü) veya UI değişikliklerine uyum sağlamasını kolaylaştırır.
- Veritabanı bağımsızlığı: Veri kaydetme ve alma mantığı, iş kurallarından ayrılmıştır, bu da veritabanını değiştirmeyi veya farklı depolama çözümleri kullanmayı kolaylaştırır.
- Dış ajanlardan bağımsızlık: Dış sistemlerle (API, üçüncü taraf servisler) etkileşim, katmanlar halinde kapsüllenmiş ve bu da iş mantığı üzerindeki etkilerini en aza indirir.
Genellikle katmanlar içerir:
- Entities: Uygulamanın iş kurallarını içerir. En iç katman.
- Use Cases (Interactors): Kullanıcı ile uygulama arasındaki belirli etkileşimleri tanımlar. Uygulamanın özgü iş mantığını içerir.
- Interface Adapters (Presenters, Controllers, Gateways): Verileri Use Cases ile dış ajanlar (UI, DB, API) arasında dönüştürür.
- Frameworks & Drivers: Dış katman, uygulama detaylarını içerir (UI çerçeveleri, veritabanları, web servisleri vb.).
Bağımlılık ilkesi: Bağımlılıklar her zaman içe doğru yöneliktir, dış katmanlardan iç katmanlara doğru.