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