Hexagonal Architecture, 2026 itibarıyla Stack Overflow Developer Survey 2024 verilerine göre 47.000+ ekibin aktif kullandığı bir mimari pattern; uygulayan ekiplerde birim test kapsamı ortalama %72 seviyesinde ölçülüyor ve framework değişim maliyeti %68 düşüyor.
Hexagonal Architecture’ın Doğuşu ve 2026 Endüstri Konumu
Alistair Cockburn 2005 yılında “Hexagonal Architecture” makalesini yayımladığında, pattern başlangıçta sadece test edilebilirlik çözümü olarak görüldü. Cockburn’ün asıl önerisi farklıydı: domain mantığını “driving” ve “driven” aktörlerden simetrik şekilde izole etmek. ThoughtWorks Technology Radar 2025, ports and adapters pattern’ını “adopt” kademesinde tutuyor; CNCF’in 2024 cloud native survey raporu kurumsal cloud native projelerin %41’inin hexagonal pattern’ı varsayılan tasarım olarak benimsediğini gösteriyor.
2026 verisinde Türkiye’deki finansal teknoloji şirketlerinin %58’i hexagonal pattern’ı yeni servisleri için zorunlu mimari standart olarak kullanıyor. IEEE Software dergisinin 2024 raporu, hexagonal mimaride yazılan servislerde infrastructure değişikliklerinin (DB taşıma, mesaj broker değiştirme, REST’ten gRPC’ye geçiş) ortalama maliyetinin geleneksel katmanlı yapıya kıyasla %68 daha düşük olduğunu kaydediyor. IBM 2025 modernizasyon raporu, hexagonal pattern ile yapılandırılmış mikroservislerin üretim sonrası defect oranını %53 azalttığını belgeliyor.
Pattern’ın endüstri kabulünün arkasında üç ekonomik gerçek var. İlki bulut sağlayıcılarının managed servis fiyat farkı; aynı uygulamanın PostgreSQL Aurora’dan Spanner’a taşınması, hexagonal yapıda 5 günde, layered yapıda 4 haftada gerçekleşiyor (AWS Migration Hub 2024 verisi). İkincisi observability tooling değişimleri; Datadog’dan New Relic’e ya da open source alternatife geçen ekipler, hexagonal pattern sayesinde domain core’a dokunmadan adapter değişimi yapıyor. Üçüncüsü AI/ML servis entegrasyonları; OpenAI’dan Anthropic’e ya da self-hosted modele geçiş, hexagonal’ın doğal değişim avantajını gösteren günümüz kullanım senaryolarından biri.
Ports ve Adapters: Simetrik İzolasyonun Mimari Anatomisi
Hexagonal pattern’ın temel inşası iki katmandan oluşur. Domain core (hexagon merkezi), iş kurallarını ve değişmezleri barındırır; hiçbir external bağımlılığa erişimi yoktur. Hexagonal çevre ise portları (interface) ve onlara takılan adapter’ları (concrete implementation) barındırır. Driving (primary) port’lar uygulamayı dışarıdan çalıştırır; REST controller, CLI handler, gRPC handler örnekleri buraya girer. Driven (secondary) port’lar uygulamanın dışarıya çağrı yaptığı arayüzlerdir; repository, mesaj publisher, external API client örnekleri.
Hexagonal isminin sembolik anlamı, altıgenin yedi tarafının (altı kenar + iç çekirdek) farklı entegrasyon noktalarını temsil etmesidir. Pratikte yedi sayısının özel bir mistik anlamı yok; Cockburn’ün 2005 makalesinde altıgen kullanma sebebi “kareler insanlara sınırları çağrıştırır, altıgen daha esnek hisseder” şeklinde açıklanmış. Pattern’ın asıl güçlü yanı simetri; driving ve driven taraflar aynı izolasyon kuralına tabidir. Bu simetri, uygulamayı hem otomatize test ortamında, hem komut satırından, hem REST üzerinden, hem mesaj kuyruğundan çalıştırmanızı kod değiştirmeden mümkün kılıyor; gerçek senaryoda load test framework’ü ile production REST trafiğini aynı domain core’u test ediyor.
| Bileşen | Yön | Sorumluluk | Tipik Örnek | Test Stratejisi |
|---|---|---|---|---|
| Domain core | İç | İş kuralları | Aggregate, value object, policy | Birim test, framework yok |
| Application service | İç-yakın | Use case orkestrasyonu | CreateOrderService | Birim test, mock port |
| Driving port | Giriş | Use case interface | OrderUseCase | Contract test |
| Driving adapter | Giriş | Protokol çevirisi | REST controller, CLI | Integration test |
| Driven port | Çıkış | External bağımlılık abstraksiyonu | OrderRepository interface | Mock, in-memory fake |
| Driven adapter | Çıkış | Concrete implementation | PostgresOrderRepository | Integration test |

Hexagonal vs Layered: Karşılaştırmalı Tasarım Matrisi
Geleneksel katmanlı mimaride (Presentation → Application → Domain → Persistence) bağımlılıklar yukarıdan aşağıya akar; Persistence katmanı domain’i etkiler çünkü ORM annotation’ları, entity manager’ları domain sınıflarına sızar. Hexagonal pattern bu sızıntıyı kırar: tüm bağımlılıklar içeriye, domain’e doğru gösterir. DataDog 2024 microservices raporu, hexagonal pattern uygulayan servislerin altyapı upgrade maliyetinin %64 daha düşük olduğunu kaydediyor.
İki mimarinin pratik karşılaştırmasında en görünür fark refactoring sırasında ortaya çıkar. Layered mimaride entity’ye yeni bir alan eklenmesi, ORM mapping, repository sorgu metodu, service katmanı, controller DTO ve frontend payload’ı zincirleme etkiliyor; tek bir alan değişikliği ortalama 6 dosyada düzenleme gerektiriyor. Hexagonal’da aynı değişiklik domain entity’sinde ve adapter mapping’inde sınırlı kalıyor, ortalama 2 dosya yeterli. ThoughtWorks 2025 verisi bu pratik farkın 12 aylık projelerde toplam developer saat tasarrufunu ortalama 340 saat olarak ölçüyor; bu sayı orta ölçekli ekipler için yaklaşık 2 hafta net tasarruf demek.
- Bağımlılık yönü: Layered’da dışa, hexagonal’da içe; bu fark refactor maliyetinin tek belirleyicisi.
- Test edilebilirlik: Hexagonal’da domain core saf POJO/POCO/dataclass; framework olmadan test edilir.
- Framework değiştirme: Spring’ten Quarkus’a geçiş hexagonal’da 2 günde, layered’da 3 haftada gerçekleşiyor (IBM 2025).
- Database değiştirme: PostgreSQL’den DynamoDB’ye taşıma adapter değişimi ile sınırlı kalıyor.
- Yeni delivery channel: Web’e ek olarak mobile veya event-driven kanal eklenmesi yeni adapter olarak ekleniyor.
İlgili konu: Clean ve Onion Architecture kıyaslamamızda bağımlılık kuralı detaylarını paylaştık.
Implementation Pattern’ı: Use Case, Repository ve Adapter Üçlüsü
Pratik implementasyonda en sık karşılaşılan üç bileşen vardır. Use case service, application katmanında yer alan ve domain operasyonlarını orkestre eden sınıftır; tek bir public metot ve net girdi-çıktı sözleşmesi taşır. Repository interface, domain katmanında tanımlanır; concrete implementation infrastructure katmanında kalır. Adapter sınıfları, external dünya ile sözleşme katmanı arasındaki çevirmenlerdir. Robert Martin’in 2024 güncellediği Clean Coder yazıları, hexagonal pattern’ı Clean Architecture’ın sadeleştirilmiş hali olarak konumlandırıyor; bu nedenle iki pattern endüstride sıkça karıştırılıyor.
Implementasyonda dikkat edilmesi gereken üç teknik karar: ilki dependency injection framework seçimi (Spring, Dagger, .NET DI). DI container’ı hexagon dışında (composition root) konfigüre edilmelidir; aksi halde framework domain’e sızar. İkinci karar transaction yönetimi; bu sorumluluk application service katmanına yerleştirilir, domain veya adapter’da olmamalıdır. Üçüncü karar DTO mapping; MapStruct, AutoMapper veya elle yazılmış mapper’lar adapter katmanında yer alır ve domain object’i dış dünyaya sızdırmaz. IEEE Software 2024 raporu, bu üç kararı doğru veren ekiplerin 12 ay sonra refactor yükünün %71 daha düşük olduğunu kaydediyor.
| Bileşen | Katman | Bağımlılık Yönü | Tipik Hata | Doğru Pattern |
|---|---|---|---|---|
| Domain entity | Domain core | Hiçbir dış bağ | ORM annotation kullanma | Saf POJO/POCO |
| Repository interface | Domain | İçeri bakar | Infrastructure’a koyma | Domain’de tanım |
| Repository implementation | Infrastructure | Domain’e bağlı | Domain’e koyma | Outbound adapter |
| Use case service | Application | Domain’e bağlı | HTTP kontrolcüye yerleştirme | Application katmanı |
| REST controller | Infrastructure | Application’a bağlı | Domain’e doğrudan erişim | Inbound adapter |
| DTO mapper | Infrastructure | Application + Domain | Domain’e koyma | Inbound adapter sınırı |

Operasyon, İzleme ve Hexagonal’ın Maliyet Profili
Hexagonal pattern’ın operasyonel maliyeti üç yerden gelir: ek interface sayısı, adapter koordinasyonu ve dependency injection konfigürasyonu. McKinsey’in 2025 Software Modernization raporu, hexagonal mimarinin geliştirici verim eğrisinin ilk 3 ayda %12 yavaş, 6. aydan sonra %34 hızlı olduğunu kaydediyor; bu eğri kurumsal projelerde standart hale geldi. Observability tarafında her port’a structured logging eklemek, distributed tracing’i adapter sınırlarında başlatmak öneriyoruz. DataDog 2024 raporu hexagonal yapıda incident root cause analysis süresinin ortalama 38 dakikadan 17 dakikaya düştüğünü kaydediyor.
Test stratejisinin doğru kurulması, hexagonal pattern’ın en büyük operasyonel kazancını açığa çıkarıyor. Önerilen test piramidi: %70 birim test (saf domain), %20 entegrasyon test (adapter sınırı), %10 end-to-end test. Bu dağılım sayesinde test süitinin çalışma süresi geleneksel %40 birim, %50 entegrasyon, %10 e2e dağılımına göre %63 daha hızlı tamamlanıyor. CI/CD pipeline’ında testin geri bildirim süresi 14 dakikadan 5 dakikaya iniyor; developer experience’in pratik karşılığı bu sayıda gizli. Ayrıca production’a giden defect oranı IBM 2025 verisine göre 2.4’ten 1.1’e düşüyor.
| Metrik | Layered Mimari | Hexagonal Mimari | Fark | Veri Kaynağı |
|---|---|---|---|---|
| Birim test kapsamı | %48 | %72 | +24 puan | Stack Overflow Survey 2024 |
| Framework değişim süresi | 3 hafta | 2 gün | -90% | IBM Modernization 2025 |
| MTTR (incident) | 38 dakika | 17 dakika | -55% | DataDog State of DevOps 2024 |
| Defect rate / 1000 LOC | 2.4 | 1.1 | -54% | IBM 2025 |
| Verim eğrisi (6. ay) | Baseline | +%34 | +34 puan | McKinsey Software 2025 |
| İlk 3 ay verim | Baseline | -%12 | Ön yatırım | McKinsey 2025 |
Sektörel Use Case’ler: Banka, E-ticaret, IoT ve Telekom
Bankacılıkta hexagonal pattern, regülatör entegrasyonlarını (BDDK, MASAK raporlama) adapter olarak izole etmeye yarıyor. Bir Türk özel bankasının ödeme servisi, hexagonal yapıya geçtikten sonra yeni ödeme şeması entegrasyonunu 11 günden 3 güne indirdi. E-ticarette Shopify’ın 2024 yayınladığı engineering blog yazısı, payment processor değiştirme sürelerinin hexagonal pattern ile %78 kısaldığını belirtti. IoT tarafında MQTT, Kafka, HTTP gibi farklı veri ingestion protokollerini aynı domain core’a bağlayabilmek, hexagonal’ın doğal avantajı. Telekomda Vodafone’un 2025 mimari raporu, 47 hexagonal servis ile yapılandırdıkları charging platformunun release döngüsünü 4 haftadan 8 güne çektiğini kaydetti.
| Sektör | Tipik Adapter Sayısı | Domain Saflık Skoru | Migrasyon Süresi | Vaka Notu |
|---|---|---|---|---|
| Bankacılık | 8-14 adapter | 4.6/5.0 | 9-14 ay | Regülatör adapter izolasyonu |
| E-ticaret | 6-10 adapter | 4.3/5.0 | 6-9 ay | Payment processor değişimi 78% hızlı |
| IoT | 4-8 ingestion adapter | 4.5/5.0 | 7-10 ay | MQTT/Kafka/HTTP aynı core |
| Telekom | 10-16 adapter | 4.4/5.0 | 11-15 ay | Vodafone charging — 4 hafta → 8 gün release |
| Sağlık | 8-12 adapter | 4.7/5.0 | 12-18 ay | HL7/FHIR adapter, EHR çekirdek |
| SaaS | 5-9 adapter | 4.2/5.0 | 5-8 ay | Webhook + REST + GraphQL inbound |
Sigorta sektöründe Allianz’ın 2024 mimari sunumu, policy yönetim modülünü hexagonal pattern ile inşa ettikten sonra yeni regülasyon adapter’ını ortalama 4 günde eklediğini paylaştı. Otomotiv sektöründe BMW’nin connected car platformu, 2025’te 38 hexagonal mikroservis ile çalışıyor ve günde 9 milyar telemetri olayını işliyor. Bu vakaların ortak noktası: adapter sınırlarının disiplinli korunması, hexagonal’ın gerçek değerini açığa çıkartıyor.

Kurumsal Hexagonal Architecture Dönüşümünde Karşılaşılan Tipik Sorunlar
Danışmanlık projelerinde gözlemlenen tipik darboğazlar:
- Use case service ile domain service’i ayırt edememek, application katmanını şişiriyor ve domain’i anemik bırakıyor.
- Driven port’ları infrastructure katmanında tanımlamak, hexagonal’ı tersine çeviriyor; doğrusu domain veya application katmanı.
- Adapter’ın domain mantığı sızdırması (validation, business rule), pattern’ı sadece kozmetik bir izolasyona dönüştürüyor.
- DTO ve domain object’i aynı şey sanmak, API kontratını domain’e bağlıyor ve refactor’u zorlaştırıyor.
- Tek bir devasa application service yerine use case başına ayrı service yazmamak, single responsibility’i kırıyor.
- Test stratejisinde adapter’ları unit test etmeye çalışmak, gereksiz mock cehennemi yaratıyor; bunlar integration test alanı.
Sonuç
Hexagonal Architecture, 2026 itibarıyla mikroservis çağının tasarım gramerine dönüştü. Asıl değeri test edilebilirlikten ziyade strategic optionality’de yatıyor: bugün PostgreSQL kullanan servisinizi yarın DynamoDB’ye, REST kontrolcüsünü gRPC’ye, Kafka’yı RabbitMQ’ya taşıyabilme özgürlüğü, ürün ekibinin pazara hızını doğrudan etkiliyor. Doğru başlangıç noktası: yeni bir servis tasarlıyorsanız hexagonal’ı varsayılan seçim olarak alın, mevcut bir servisi modernize ediyorsanız strangler fig ile adapter sınırlarını adım adım çıkarın. Domain core’unuzu framework’ten arındırma disiplini, üç ay sonrasında verim eğrisi olarak geri dönüyor. Önerimiz ekibinize 4 haftalık bir hexagonal bootcamp düzenleyin; ilk hafta teori, ikinci hafta kodlama atölyesi, üçüncü hafta mevcut bir küçük servisi hexagonal’a refactor, dördüncü hafta retro ve dokümantasyon. Bu yatırım, sonraki tüm servislerinizin tasarım kalitesini katlanarak yükseltiyor. Yorumlarınızı ve pattern uygulama deneyimlerinizi bekliyorum.
Sıkça Sorulan Sorular
Hexagonal Architecture mikroservis için zorunlu mu?
Zorunlu değil ama varsayılan önerilir. CNCF 2024 cloud native survey’i hexagonal pattern uygulayan mikroservislerin değiştirilebilirlik skorunun ortalama 4.2/5.0 olduğunu, klasik katmanlı yapıdakilerin 2.6/5.0’da kaldığını gösteriyor.
Hexagonal ve Clean Architecture farkı nedir?
Clean Architecture, hexagonal’ın genişletilmiş halidir; entities, use cases, interface adapters, frameworks olarak dört konsantrik katman tanımlar. Hexagonal sadece içeri-dışarı ayrımı yapar. Robert Martin 2024 yazılarında ikisinin %85 örtüştüğünü vurguluyor.
Domain core’da exception kullanılır mı?
Evet, domain-specific exception’lar kullanılır (InsufficientBalanceException gibi). Adapter katmanı bu domain exception’larını protokol-specific hatalara çevirir (HTTP 422, gRPC INVALID_ARGUMENT). Domain core HTTP veya database exception’ı asla bilmemeli.
Hexagonal pattern öğrenme eğrisi ne kadar?
Deneyimli geliştirici için 3-4 hafta, junior için 8-12 hafta. McKinsey 2025 raporu eğitimli ekiplerin 6. ayda layered ekiplere göre %34 daha verimli olduğunu gösteriyor; bu süreyi göze almak gerekiyor.
Repository interface domain’de mi application’da mı tanımlanır?
Vaughn Vernon repository interface’inin domain katmanında tanımlanmasını önerir çünkü repository domain modelinin parçasıdır. Concrete implementation infrastructure katmanında kalır. Bu yerleşim hexagonal’ın “dışarıdan içeriye bağımlılık” kuralını korur.










Ömer ÖNAL
Mayıs 18, 2026Hexagonal Architecture’ı sadece bir test edilebilirlik trickisi olarak gören ekipler asıl değeri kaçırıyor. Müşterilerime şunu söylüyorum: portlar ve adapter’lar, framework’ten ve veritabanından bağımsız bir domain inşa etmenin pratik yoludur. PostgreSQL’i Mongo’ya, REST’i Kafka’ya geçirmek bu mimaride bir akşamlık iş; geleneksel katmanlı yapıda haftalar süren refactor. 2026’da yeni servisleriniz için varsayılan seçim olarak öneriyorum. Ömer ÖNAL