Son yıllarda pek çok şirket çok basit bir nedenden dolayı Temiz Mimar…
Kaan Baytan
Son yıllarda pek çok şirket çok basit bir nedenden dolayı Temiz Mimari yaklaşımını benimsemeye başladı: işin özünü temiz tutmak ve onu teknolojik kaostan korumak.
### 1. Etki Alanı (Varlıklar)
İşte işin en saf mantığı yatıyor:
- Varlıklar
- Değer Nesneleri / Kayıtları
- İş kuralları
Çerçeve yok, veritabanı yok. Yalnızca asla çiğnenmemesi gereken iş kuralları vardır.
### 2. Kullanım Durumları
Sistemdeki işlemlerin yapıldığı katmandır:
- Kullanım Durumları
- Akış orkestrasyonu
- Süreç doğrulamaları
Kullanıcı bir şey yaptığında ne olacağına karar veren kısımdır.
### 3. Arayüz Adaptörleri
Dış dünyayı iç sistemin anlayabileceği şekle dönüştüren katmandır:
- Kontrolörler
- DTO'lar / Haritacılar
- Bağlantı Noktaları ve Adaptörler
- Depo arayüzleri
Bu katman, iş mantığı ile kullandığımız teknolojiler arasında bir tür "tercüman" görevi görür.
### 4. Çerçeveler ve Sürücüler
En dış katmandır ve teknoloji ile ilgili kısımlar burada bulunur:
- REST API'si
- ORM'ler
- Veritabanları
- Mesaj Kuyrukları
- Çerçeveler
Yarın MySQL'den MongoDB'ye veya Spring'den NestJS'ye geçseniz bile Etki Alanı ve Kullanım Örneği katmanlarının bundan haberi bile olmayacaktır.
### Peki Altıgen Mimariye ne kadar benziyor?
Çok yakın mimariler olarak kabul edilebilirler.
- Temiz Mimari daha fazla halka üzerine inşa edilmiştir.
- Altıgen Mimari Bağlantı Noktaları ve Adaptörler yaklaşımını daha net bir şekilde kullanır.
Ancak ana fikir neredeyse aynı:
- İş mantığını teknolojiden ayırmak
- Teknolojik bağımlılıkları azaltın
- Daha kolay test edilebilir yazılımlar oluşturmak
- Sistem bakımını ve gelişimini kolaylaştırın
#CleanArchitecture #SoftwareArchitecture #HexagonalArchitecture #DomainDrivenDesign #DDD #BackendDevelopment #SoftwareEngineering #SystemDesign #CleanCode #SOLID #UseCases #DomainLayer #PortsAndAdapters #Microservices #ModularMonolith #Backend #Programming #Developer #CodeQuality #MaintainableCode