ENTERPRISE DESIGN PATTERNS & ARCHITECTURES EĞİTİMİ

Kurumsal desenlerle ölçeklenen mimariler kurun

Domain Model, Data Mapper, Unit of Work, kilitleme, entegrasyon desenleri ve mikroservis mimarisi tek eğitimde.

Eğitim, Martin Fowler'ın Patterns of Enterprise Application Architecture kataloğunu pratiğe taşır. Transaction Script, Domain Model, Data Mapper, Unit of Work, Identity Map, optimistic ve pessimistic lock ile Front Controller, DTO ve Remote Facade desenlerini…

4 gün İleri Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Dört günde PoEAA desenlerinden mikroservis ve olay tabanlı mimariye

Eğitim, Martin Fowler'ın Patterns of Enterprise Application Architecture kataloğunu pratiğe taşır. Transaction Script, Domain Model, Data Mapper, Unit of Work, Identity Map, optimistic ve pessimistic lock ile Front Controller, DTO ve Remote Facade desenlerini kodlarsınız. Sonrasında Enterprise Integration Patterns, katmanlı mimari, mikroservis, saga, circuit breaker ve olay güdümlü mimari ile ölçeklenebilir sistem kararlarını gerekçelendirirsiniz.

Süre ve Format

4 Gün. Her gün dört modül; sabah desen kataloğu ve mimari tartışma, öğleden sonra ORM, kilitleme ve entegrasyon laboratuvarı.

Seviye

İleri Seviye — Fowler'ın kurumsal uygulama mimarisi desenlerinden entegrasyon ve dağıtık mimariye uzanan kapsam.

Öğrenme Metodu

Katılımcılar bir sipariş yönetimi uygulamasını önce Transaction Script, sonra Domain Model ve Data Mapper ile yeniden yazar; entegrasyon kısmında kuyruk tabanlı servis kurar.

Neden Bu Eğitim?

📚Fowler Kataloğu

Domain Model, Unit of Work ve Repository gibi kurumsal desenleri birlikte kullanmayı öğrenirsiniz.

🔐Eşzamanlılık Güvencesi

Optimistic lock ve transaction sınırlarıyla veri bütünlüğü problemlerini önlersiniz.

🌐Entegrasyon Gücü

Mesajlaşma desenleri ve saga ile servisler arası güvenilir iletişim kurarsınız.

Anahtar Konular

enterprise design patternsPoEAAFowler kurumsal desenlerdomain modeldata mapperunit of workenterprise integration patternsmikroservis mimarisikurumsal yazılım mimarisi
“Kurumsal yazılımda karmaşıklık yok edilemez, ancak doğru katmanda tutulabilir.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Kurumsal Geliştirme

En az iki yıl Java/Spring veya C#/.NET ile iş uygulaması geliştirme deneyimi.

2
SQL ve ORM

İlişkisel veritabanı ve Hibernate ya da Entity Framework temel bilgisi.

3
Desen Aşinalığı

GoF desenlerinden Factory, Strategy ve Observer kavramlarını bilmek önerilir.

4
Geliştirme Ortamı

IDE, Docker ve bir veritabanı sunucusu çalışan dizüstü bilgisayar.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı alan mantığı desenini karmaşıklığa göre seçer, Data Mapper, Unit of Work ve kilitleme ile kalıcılık katmanı kurar.
Modül 1
Alan Mantığı Desenleri
  • Transaction Script: prosedürel iş mantığı ve ne zaman yeterli olduğu
  • Domain Model: zengin nesne modeli ve davranışın nesnede toplanması
  • Table Module: tablo başına tek iş nesnesi (.NET DataSet kökenli yaklaşım)
  • Service Layer ile uygulama sınırı ve işlem yönetimi
  • Fowler'ın karmaşıklık-maliyet eğrisine göre desen seçimi
  • Anemic Domain Model eleştirisi ve düzeltme stratejileri
Modül 2
Veri Erişim Desenleri
  • Table Data Gateway ve Row Data Gateway farkları
  • Active Record: nesne içinde kalıcılık ve sınırları
  • Data Mapper: domain nesnesini veritabanından bağımsızlaştırma
  • Repository ve Specification ile sorgu soyutlaması
  • Query Object ile dinamik sorgu oluşturma
  • Lazy Load, Identity Map ve Virtual Proxy ilişkisi
Modül 3
Nesne-İlişkisel Eşleme Desenleri
  • Unit of Work ile değişiklik takibi ve toplu yazma
  • Identity Map ile aynı satırın tek nesneye eşlenmesi
  • Foreign Key Mapping ve Association Table Mapping
  • Single Table, Class Table ve Concrete Table Inheritance karşılaştırması
  • Embedded Value ve Serialized LOB kullanımı
  • N+1 sorgu problemi ve eager/lazy fetch stratejileri
Modül 4
Eşzamanlılık ve Oturum Desenleri
  • Optimistic Offline Lock ve sürüm (version) sütunu
  • Pessimistic Offline Lock ve kilit tablosu tasarımı
  • Coarse-Grained Lock ile aggregate bazlı kilitleme
  • Implicit Lock ile çerçeve düzeyinde koruma
  • Client, Server ve Database Session State seçenekleri
  • İş işlemi (business transaction) ile sistem işlemi farkı
Günün hedefiKatılımcı Front Controller ve DTO ile sunum katmanını tasarlar, DI uygular ve mesaj tabanlı entegrasyon kurar.
Modül 1
Web Sunum ve Dağıtım Desenleri
  • Model View Controller, Page Controller ve Front Controller
  • Template View, Transform View ve Two Step View
  • Application Controller ile ekran akışı yönetimi
  • Data Transfer Object ve Assembler ile katmanlar arası veri taşıma
  • Remote Facade ile ince taneli çağrıların gruplanması
  • Gateway, Mapper ve Service Stub ile dış sistem entegrasyonu
Modül 2
Dependency Injection ve IoC
  • Constructor, setter ve method injection farkları ve tercih ölçütleri
  • Inversion of Control ile Dependency Inversion ilkesinin farkı
  • Spring ve Microsoft.Extensions.DependencyInjection konteyner kullanımı
  • Yaşam süreleri: transient, scoped, singleton ve captive dependency hatası
  • Service Locator'ın anti-pattern olarak değerlendirilmesi
  • Composition Root ve test için sahte (mock) bağımlılık enjeksiyonu
Modül 3
Adapter, Facade, Decorator ve Proxy
  • Adapter ile eski bir kütüphaneyi yeni arayüze uyarlama (nesne ve sınıf adaptörü)
  • Facade ile alt sistem karmaşıklığını tek giriş noktasında gizleme
  • Decorator ile çalışma zamanında davranış ekleme ve Java I/O stream zinciri
  • Decorator ile kalıtım patlamasının (subclass explosion) önlenmesi
  • Proxy türleri: sanal (lazy), koruma ve uzak (remote) vekil
  • Adapter, Decorator ve Proxy desenlerinin niyet farkları
Modül 4
Kurumsal Entegrasyon Desenleri
  • Message Channel, Message Router ve Message Translator
  • Publish-Subscribe Channel ve Competing Consumers
  • Idempotent Receiver ve tekrar teslimat (at-least-once) yönetimi
  • Dead Letter Channel ve poison message işleme
  • Request-Reply ve Correlation Identifier
  • Transactional Outbox ve Saga ile dağıtık tutarlılık
Günün hedefiKatılımcı katman sınırlarını, mimari stilleri ve kalite niteliklerini karar kaydıyla birlikte tanımlar.
Modül 1
Kurumsal Yazılım Katmanları
  • Sunum, uygulama, domain ve altyapı katmanları ile sorumluluk dağılımı
  • Kesit ilgiler (cross-cutting): loglama, yetkilendirme, işlem yönetimi
  • SOA, ESB ve API-first yaklaşımın karşılaştırması
  • Modüler monolit ve modül sınırlarının derleme zamanı denetimi
  • Zachman ve TOGAF'a kavramsal bakış: kurumsal mimari ile yazılım mimarisi ilişkisi
  • Entegrasyon katmanı: REST, gRPC ve mesaj kuyrukları
Modül 2
Mimari Stiller
  • Katmanlı (layered) mimari ve sinkhole anti-pattern'i
  • Pipeline ve Microkernel (plug-in) mimarisi
  • Event-driven mimaride broker ve mediator topolojileri
  • Service-based mimari ve Space-based mimari
  • Microservices mimarisi ve granülerlik
  • Stil seçiminde karakteristik puanlama tablosu
Modül 3
Mimari Kararlar ve Dokümantasyon
  • Architecture Decision Record (ADR) şablonu ve yaşam döngüsü
  • C4 modeli: context, container, component, code
  • arc42 ve 4+1 görünüm modeli
  • Risk storming ile mimari risklerin görselleştirilmesi
  • Paydaş yönetimi ve kararları müzakere etme
  • Mimari inceleme (review) ve ATAM'a giriş
Modül 4
Kalite Nitelikleri ve Fitness Function
  • Performans, ölçeklenebilirlik, erişilebilirlik (kaç dokuz) ve güvenilirlik tanımları
  • Kalite niteliği senaryosu: kaynak, uyaran, ortam, yanıt, ölçü
  • Utility tree ile önceliklendirme
  • Evrimsel mimari ve fitness function ile otomatik denetim
  • SLA, SLO ve SLI farkları
  • Bakım kolaylığı metrikleri: bağımlılık, döngüsel karmaşıklık, bağlaşım
Günün hedefiKatılımcı mikroservis sınırlarını belirler, asenkron iletişim ve dayanıklılık desenlerini uygular, yaklaşımları karşılaştırır.
Modül 1
Mikroservis ve Dağıtık Sistem Tasarımı
  • Servis sınırlarının iş yeteneğine göre belirlenmesi
  • API Gateway, BFF ve servis keşfi (service discovery)
  • CAP teoremi ve PACELC bakış açısı
  • Saga (orkestrasyon ve koreografi) ile dağıtık işlem
  • Circuit breaker ve Resilience4j / Polly politikaları
  • Consumer-driven contract test ve dağıtık izleme (tracing)
Modül 2
Mesajlaşma ve Asenkron İşleme
  • Kafka topic, partition ve consumer group mantığı
  • RabbitMQ exchange türleri ve kuyruk bağlamaları
  • Backpressure ve tüketici gecikmesi (consumer lag) izleme
  • Idempotent consumer ve exactly-once efsanesi
  • Dead letter queue ve yeniden deneme stratejileri
  • Transactional outbox ile veritabanı ve broker tutarlılığı
Modül 3
Dayanıklılık ve Aşırı Yük Yönetimi
  • Timeout, retry (exponential backoff + jitter) ve retry storm riski
  • Circuit breaker durumları: closed, open, half-open
  • Bulkhead ile kaynak izolasyonu
  • Rate limiting: token bucket ve leaky bucket
  • Load shedding ve graceful degradation
  • Chaos engineering ile hata enjeksiyonu deneyleri
Modül 4
Mimari Yaklaşımların Karşılaştırması
  • Monolit, modüler monolit ve mikroservis karşılaştırması
  • Hexagonal ve Clean Architecture bağımlılık yönü
  • Event-driven ve serverless mimarinin uygun olduğu senaryolar
  • Backend for Frontend (BFF) ve API kompozisyonu
  • Strangler Fig ile kademeli geçiş
  • Evrimsel mimari ve geri alınabilir kararlar

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Alan Mantığı

Karmaşıklığa göre Transaction Script, Domain Model ve Service Layer arasında seçim yapabilirsiniz.

🔧
ORM Tasarımı

Kalıtım ve ilişki eşleme stratejilerini performans etkileriyle birlikte seçebilirsiniz.

🧠
Sunum Katmanı

Front Controller, DTO ve Remote Facade ile katmanlar arası sözleşmeleri net kurgulayabilirsiniz.

📐
Yapısal Desenler

Adapter, Facade, Decorator ve Proxy desenlerini niyet farklarına göre doğru yerde kullanabilirsiniz.

🧩
Stil Seçimi

Mimari stilleri karakteristik puanlarıyla karşılaştırıp probleme uygun olanı seçebilirsiniz.

🛡️
Kalite Senaryoları

Kalite niteliklerini ölçülebilir senaryo ve fitness function'lara çevirebilirsiniz.

📊
Asenkron Mimari

Kuyruk ve akış platformlarıyla yüksek hacimli işi güvenilir biçimde asenkron işleyebilirsiniz.

🚀
Yaklaşım Seçimi

Farklı mimari yaklaşımları bağlama göre karşılaştırıp geçiş yol haritası hazırlayabilirsiniz.

Kimler İçin Uygundur?

  • Kurumsal uygulama geliştiren kıdemli yazılımcılar
  • teknik liderler
  • mimari rolüne geçmek isteyen geliştiriciler

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Kurumsal uygulama geliştiren kıdemli yazılımcılar, teknik liderler ve mimari rolüne geçmek isteyen geliştiriciler.
Eğitim sonunda sertifika verilir mi?
Eğitimi tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.
Eğitim kaç gün sürer ve nasıl işlenir?
Eğitim 4 gündür; katılımcılar bir sipariş yönetimi uygulamasını önce Transaction Script, sonra Domain Model ve Data Mapper ile yeniden yazar; entegrasyon kısmında kuyruk tabanlı servis kurar.
PoEAA kitabını okumuş olmak gerekir mi?
Gerekmez; her desen eğitimde problem, yapı ve kod örneğiyle sıfırdan işlenir, kitap sonrasında referans olarak kullanılabilir.
Hibernate veya Entity Framework bilgisi şart mı?
Temel ORM bilgisi yeterlidir; Data Mapper ve Unit of Work gibi desenler ORM'in arkasındaki mantığı açıkladığı için derinlemesine incelenir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Enterprise Design Patterns & Architectures Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre4 gün
Seviyeİleri Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Yazılım Mimarisi ve Tasarım DesenleriTasarım Kalıpları (Design Patterns) ve Yazılım Mimarisi Eğitimi
Yazılım Geliştirme Eğitimleri

Tasarım Kalıpları (Design Patterns) ve Yazılım Mimarisi Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

Tasarım Kalıpları (Design Patterns) ve Yazılım Mimarisi eğitimi: GoF kalıpları, SOLID, kurumsal desenler, mimari stiller ve ADR. 4 gün uygulamalı.

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriUML Diagrams & UML Foundation Eğitimi
Yazılım Geliştirme Eğitimleri

UML Diagrams & UML Foundation Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

UML Diagrams ve UML Foundation eğitimi: use case, sınıf, nesne, sıra, durum, etkinlik, dağıtım diyagramları, OCL ve model yönetimi. 3 gün temel seviye.

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriUML Essentials for Agile Development Training Eğitimi
Yazılım Geliştirme Eğitimleri

UML Essentials for Agile Development Training Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Çevik geliştirme için UML Essentials eğitimi: Agile Modeling, PlantUML, use case, sınıf, sıra, durum ve etkinlik diyagramları. 2 gün uygulamalı.

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriUML ile Nesne Yönelimli Analiz ve Tasarım Eğitimi
Yazılım Geliştirme Eğitimleri

UML ile Nesne Yönelimli Analiz ve Tasarım Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

UML ile Nesne Yönelimli Analiz ve Tasarım eğitimi: use case, domain model, GRASP, UML davranış modelleri, SOLID ve GoF desenleri. 4 gün uygulamalı.

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriUML içinde Enterprise Architect (atölye çalışmaları) Eğitimi
Yazılım Geliştirme Eğitimleri

UML içinde Enterprise Architect (atölye çalışmaları) Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

UML içinde Enterprise Architect atölye çalışmaları: EA arayüzü, UML diyagramları, kod ve veritabanı mühendisliği, izlenebilirlik ve rapor üretimi, 3 gün.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn