Clean Architecture (Temiz Mimari), yazılım uygulamalarının tasarımında kullanılan bir yazılım mimarisi prensibidir. Clean Architecture’in temel amacı, bakımı kolay, test edilebilir, esnek ve bağımlılıkları iyi yönetilmiş bir kod tabanı oluşturmaktır.
Clean Architecture, uygulamayı farklı katmanlara ayırarak bunu başarır. Bu katmanlar genellikle şunlardan oluşur:
Presentation Katmanı: Kullanıcı arayüzü (UI) ve veri sunumu ile ilgilenen katmandır. Bu katman, uygulama mantığı ile doğrudan ilgilenmez ve genellikle bir framework’e bağımlıdır.
Business Logic Katmanı (Domain Katmanı): Uygulamanın iş kurallarını ve domain modelini içeren katmandır. Bu katman framework’lerden ve diğer altyapı detaylarından bağımsızdır.
Infrastructure Katmanı: Veritabanları, web sunucuları, dosya sistemleri gibi uygulama dışı kaynaklara erişim ile ilgilenen katmandır. Bu katman, teknolojik detaylara bağımlıdır.
Clean Architecture, özellikle orta ve büyük ölçekli uygulamalar için faydalı bir tasarım prensibidir. Ancak, her proje için uygun olmayabilir. Basit uygulamalarda Clean Architecture kullanmak gereksiz bir karmaşıklık yaratabilir.