DOMAIN DRIVEN DESIGN (DDD) EĞİTİMİ

Karmaşık iş alanını koda doğru yansıt

Ubiquitous language, bounded context, aggregate, value object, domain event, context map, event storming ve CQRS ile sürdürülebilir alan modelleri

Event Storming, bounded context, aggregate, domain event, context map, CQRS ve hexagonal mimariyi kapsayan Domain-Driven Design eğitimi.

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

Eğitim Hakkında

Karmaşık iş alanlarını alan odaklı modelleme ve uygulama

Bu eğitim, Eric Evans'ın Domain-Driven Design yaklaşımını stratejik ve taktik düzeyde uygulamalı öğretir. Ubiquitous language, alt alan türleri (core, supporting, generic), bounded context ve context map ilişkileri, Event Storming, entity, value object, aggregate ve repository, domain service, domain event, anemik model sorunu, katmanlı ve hexagonal mimari, CQRS ve event sourcing temelleri ile mikroservis sınırı belirleme işlenir.

Süre ve Format

3 Gün. Her gün dört modül; workshop formatında Event Storming, modelleme oturumları ve kod uygulamalarından oluşur.

Seviye

İleri Seviye — stratejik ve taktik DDD: bounded context, aggregate, domain event, context map ve CQRS/Event Sourcing temelleri

Öğrenme Metodu

Örnek bir sipariş ve stok alanı Event Storming ile keşfedilir, bounded context'lere ayrılır ve aggregate'ler C# veya Java ile kodlanır.

Neden Bu Eğitim?

🧩Alan modeli

İş uzmanlarıyla ortak dil kurarak yazılımın iş gerçeğini doğru yansıtmasını sağlarsınız.

🧱Sınır belirleme

Bounded context ile monolit ve mikroservis sınırlarını gerekçeli çizersiniz.

🏛️Sürdürülebilir kod

Aggregate ve domain event ile değişime dayanıklı iş mantığı yazarsınız.

Anahtar Konular

domain driven designDDD eğitimibounded contextaggregateevent stormingcontext mapCQRSevent sourcingmikroservis sınırlarıhexagonal mimari
“Yazılım karmaşıklığıyla savaşmanın en iyi yolu, iş alanını doğru modellemektir.”

Ön Koşullar

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

1
Nesne yönelimli geliştirme

Java, C# veya benzeri bir dilde 3+ yıl deneyim beklenir.

2
Mimari temel

Katmanlı mimari ve REST/mesajlaşma kavramları bilinmelidir.

3
Veritabanı bilgisi

ORM ve ilişkisel model temeli faydalıdır.

4
Alan örneği

Kendi iş alanınızdan modellenecek bir konu getirmeniz önerilir.

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ı keşfeder, alt alanları sınıflandırır ve bounded context sınırlarını belirler.
Modül 1
DDD Temelleri ve Ubiquitous Language
  • DDD'nin amacı ve ne zaman uygun olduğu
  • Alan uzmanı ve geliştirici iş birliği
  • Ubiquitous language sözlüğü
  • Dilin kodda görünmesi
  • Model ve kod uyumu
  • Anemik alan modeli anti-pattern'i
Modül 2
Event Storming
  • Big Picture, Process Level, Design Level
  • Domain event, komut, aktör, politika
  • Hotspot ve sorular
  • Fiziksel/dijital pano (Miro) kullanımı
  • Event Storming çıktısından aggregate adayları
  • Atölye yönetimi ipuçları
Modül 3
Alt Alanlar ve Bounded Context
  • Core, supporting, generic subdomain
  • Yatırımı core alana yönlendirme
  • Bounded context tanımı
  • Aynı kavramın farklı bağlamda farklı anlamı
  • Context sınırı ve takım sınırı
  • Satın al, yap, ortaklaş kararları
Modül 4
Context Map
  • Shared kernel, customer-supplier, conformist
  • Anti-corruption layer
  • Open host service ve published language
  • Partnership ve separate ways
  • Bağlamlar arası entegrasyon seçimi
  • Context map çizimi uygulaması
Günün hedefiKatılımcı, entity, value object ve aggregate'leri tasarlayıp tutarlılık sınırlarını belirler.
Modül 1
Entity ve Value Object
  • Kimlik ve eşitlik farkı
  • Value object değişmezliği
  • Para, adres, tarih aralığı örnekleri
  • Primitive obsession'dan kaçınma
  • Kendi kendini doğrulayan nesneler
  • ORM ile eşleme zorlukları
Modül 2
Aggregate Tasarımı
  • Aggregate root ve invariant
  • İşlem sınırı ve tutarlılık
  • Küçük aggregate kuralı
  • Aggregate'ler arası referansın kimlikle yapılması
  • Eşzamanlılık: optimistic locking
  • Büyük aggregate'i bölme
Modül 3
Repository, Factory ve Domain Service
  • Repository: koleksiyon benzeri arayüz
  • Aggregate başına repository
  • Factory ile karmaşık oluşturma
  • Domain service ne zaman gerekir
  • Uygulama servisi ile domain servisi farkı
  • Specification deseni
Modül 4
Domain Event
  • Domain event tanımı ve adlandırma
  • Aggregate'ten olay yayınlama
  • Event handler ve yan etki
  • Eventual consistency
  • Outbox deseni
  • Olayların versiyonlanması
Günün hedefiKatılımcı, DDD'yi hexagonal mimari, CQRS ve mikroservislerle birleştirir.
Modül 1
Katmanlı ve Hexagonal Mimari
  • Domain katmanının bağımsızlığı
  • Port ve adapter
  • Bağımlılık tersine çevirme
  • Uygulama katmanı ve use case
  • Altyapı ve ORM'i dışarıda tutma
  • Test edilebilirlik
Modül 2
CQRS ve Event Sourcing
  • Komut ve sorgu ayrımı
  • Okuma modeli (read model) ve projeksiyon
  • Event store temelleri
  • Snapshot ve olay tekrarı
  • Ne zaman gereksiz karmaşıklık olur
  • Eventual consistency kullanıcı deneyimi
Modül 3
Mikroservis ve DDD
  • Bounded context'ten servis sınırı
  • Servisler arası olay tabanlı entegrasyon
  • Saga ve süreç yöneticisi
  • Dağıtık işlemlerde tutarlılık
  • Modüler monolitle başlama
  • Strangler fig ile geçiş
Modül 4
Mevcut Sisteme DDD Uygulama
  • Legacy kodda alan keşfi
  • Anti-corruption layer ile izolasyon
  • Aşamalı refaktör planı
  • Takım organizasyonu ve Conway yasası
  • DDD'de sık yapılan hatalar
  • Vaka çalışması ve final tartışması

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Ortak dil

Alan uzmanlarıyla ubiquitous language sözlüğü oluşturabilirsiniz.

✅
Event Storming

Event Storming atölyesi yönetip domain event ve aggregate adayları çıkarabilirsiniz.

✅
Bounded context

Alt alanları sınıflandırıp bounded context sınırlarını çizebilirsiniz.

✅
Context map

Bağlamlar arası ilişkileri context map ile tasarlayabilirsiniz.

✅
Aggregate tasarımı

Invariant'lara dayalı küçük ve tutarlı aggregate'ler tasarlayabilirsiniz.

✅
Value object

Primitive obsession yerine zengin value object'ler kullanabilirsiniz.

✅
Domain event

Outbox ile güvenilir domain event yayını kurgulayabilirsiniz.

✅
Mimari uygulama

Hexagonal mimari ve CQRS ile alan katmanını izole edebilirsiniz.

Kimler İçin Uygundur?

  • Kıdemli geliştiriciler
  • yazılım mimarları
  • karmaşık iş kuralı barındıran sistemleri modelleyen teknik liderler

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Kıdemli geliştiriciler, yazılım mimarları ve karmaşık iş kuralı barındıran sistemleri modelleyen teknik liderler.
DDD her projeye uygun mu?
Hayır; karmaşık iş kuralı barındıran sistemlerde değer sağlar. Eğitimde basit CRUD sistemlerde DDD'nin gereksizliği de tartışılır.
Kitap okumak gerekir mi?
Gerekmez; Evans ve Vernon'un kavramları eğitimde uygulamalı özetlenir.
Hangi dilde kodlama yapılır?
Örnekler C# ve Java ile verilir; kavramlar dil bağımsızdır.
Sertifika veriliyor mu?
Evet, Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

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. Domain Driven Design (DDD) Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 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 Geliştirme GenelBack-end Apps : Bean Validation Eğitimi
Yazılım Geliştirme Eğitimleri

Back-end Apps : Bean Validation Eğitimi

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

Bean Validation eğitimi: Jakarta Validation anotasyonları, özel ConstraintValidator, doğrulama grupları, JAX-RS ve JPA entegrasyonu ve hata iletisi yerelleştirm

Detayları Gör →
Yazılım Geliştirme GenelBack-end Apps: Concurrency Eğitimi
Yazılım Geliştirme Eğitimleri

Back-end Apps: Concurrency Eğitimi

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

Back-end Concurrency eğitimi: Jakarta Concurrency, ManagedExecutorService, @Asynchronous, CompletableFuture, ContextService ve iş parçacığı güvenliği.

Detayları Gör →
Yazılım Geliştirme GenelBack-end Apps: Contexts & Dependency Injection (CDI) Eğitimi
Yazılım Geliştirme Eğitimleri

Back-end Apps: Contexts & Dependency Injection (CDI) Eğitimi

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

Back-end CDI eğitimi: Jakarta CDI bean'ler, kapsamlar, qualifier, producer, interceptor, decorator, olaylar ve Weld ile test uygulamaları.

Detayları Gör →
Yazılım Geliştirme GenelBack-end Apps: Getting Started Eğitimi
Yazılım Geliştirme Eğitimleri

Back-end Apps: Getting Started Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Back-end Apps başlangıç eğitimi: Jakarta EE, Maven, Jakarta REST, CDI, JPA ve WildFly ile ilk arka uç uygulamasını geliştirme ve dağıtma.

Detayları Gör →
Yazılım Geliştirme GenelBack-end Apps: Message-driven Beans Eğitimi
Yazılım Geliştirme Eğitimleri

Back-end Apps: Message-driven Beans Eğitimi

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

Message-driven beans eğitimi: Jakarta Messaging, JMS kuyruk ve topic, @MessageDriven, ActiveMQ Artemis, işlem, yeniden teslim ve dead letter kuyruğu uygulamalar

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