EXPANDING DESIGN PATTERNS EĞİTİMİ

Temel desenlerin ötesine geçip üretimde kullanın

Visitor, Flyweight, Mediator, Repository, Unit of Work, entegrasyon ve dayanıklılık desenleriyle desen repertuvarını genişletin.

Bu eğitim, temel GoF desenlerini bilenlerin repertuvarını genişletir.

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

Eğitim Hakkında

Üç günde GoF sonrası ileri, kurumsal ve dağıtık desenler

Bu eğitim, temel GoF desenlerini bilenlerin repertuvarını genişletir. Visitor, Mediator, Memento, Flyweight ve Bridge gibi az kullanılan ama güçlü desenleri; Repository, Specification, Unit of Work ve optimistic lock gibi kurumsal desenleri; outbox, idempotent receiver, circuit breaker ve retry gibi dağıtık sistem desenlerini işler. Anti-pattern analizi ve refactoring ile desenleri mevcut koda güvenle uygulamayı çalışırsınız.

Süre ve Format

3 Gün. Her gün dört modül; sabah ileri desen anlatımı, öğleden sonra mevcut bir kod tabanı üzerinde genişletme laboratuvarı.

Seviye

İleri Seviye — İleri davranışsal desenler, kurumsal desenler, entegrasyon ve dayanıklılık desenlerinin mevcut kod üzerinde genişletilmesi.

Öğrenme Metodu

Katılımcılar gerçekçi bir ödeme ve sipariş kod tabanı üzerinde yeni desenleri ekler, her değişikliği birim ve entegrasyon testleriyle doğrular.

Neden Bu Eğitim?

🚀İleri Repertuvar

Visitor, Mediator ve Memento gibi desenleri doğru yerde kullanmayı öğrenirsiniz.

🏦Kurumsal Ölçek

Repository, Unit of Work ve kilit desenleriyle veri katmanını sağlamlaştırırsınız.

🛡️Dağıtık Güvence

Outbox, idempotency ve circuit breaker ile dağıtık hataya dayanıklı çözümler kurarsınız.

Anahtar Konular

expanding design patternsileri tasarım desenlerivisitor patternmediator patternrepository patternunit of workoutbox patterncircuit breakerspecification pattern
“Desen bilmek bir araç kutusudur; ustalık hangi aracı ne zaman bırakacağını bilmektir.”

Ön Koşullar

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

1
GoF Temeli

Factory, Strategy, Decorator ve Observer desenlerini daha önce kullanmış olmak gerekir.

2
Java veya C#

Orta düzey Java ya da C# ile kod yazma becerisi.

3
Birim Test

JUnit veya xUnit ile test yazma deneyimi.

4
Geliştirme Ortamı

IDE, Git ve Docker kurulu 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ı Visitor, Memento, Mediator, Composite, Bridge ve Flyweight desenlerini koda uygular ve anti-pattern içeren yapıları refactor eder.
Modül 1
Iterator, Visitor, Mediator ve Memento
  • Iterator ve Java Iterable / C# IEnumerable sözleşmesi
  • Visitor ile çift gönderim (double dispatch) mekanizması
  • AST dolaşımı örneği ve Visitor'ın yeni eleman ekleme zorluğu
  • Mediator ile bileşenler arası bağımlılığın merkezileştirilmesi
  • Memento ile kapsüllemeyi bozmadan durum anlık görüntüsü almak
  • Interpreter ve küçük bir alan-özel dil (DSL) çözümlemesi
Modül 2
Composite, Bridge ve Flyweight
  • Composite ile ağaç yapılar: dosya sistemi, menü hiyerarşisi, UI bileşenleri
  • Yaprak ve düğüm için ortak Component arayüzü tasarımı
  • Bridge ile soyutlama ve gerçekleştirmenin bağımsız değişmesi
  • Flyweight ile içsel/dışsal durum ayrımı ve bellek tasarrufu
  • String interning ve metin editöründe karakter nesneleri örneği
  • Bridge ile Adapter ve Strategy arasındaki sınırlar
Modül 3
Anti-Pattern ve Kod Kokuları
  • God Object, Spaghetti Code ve Lava Flow anti-pattern'leri
  • Singleton'ın aşırı kullanımı ve gizli bağımlılık sorunu
  • Anemic Domain Model ve işlem betiği yığılması
  • Fowler kataloğundan Long Method, Feature Envy, Shotgun Surgery, Data Clumps
  • Golden Hammer ve resume-driven development eğilimleri
  • Her kokunun hangi refactoring veya desenle giderildiği
Modül 4
Refactoring ile Desene Geçiş
  • Extract Method, Extract Class ve Extract Interface adımları
  • Replace Conditional with Polymorphism ile Strategy/State'e geçiş
  • Replace Constructor with Factory Method ve Builder'a evrim
  • Introduce Parameter Object ve Null Object kullanımı
  • Kerievsky'nin 'Refactoring to Patterns' yaklaşımı
  • Her adımda birim testle davranışın korunması
Günün hedefiKatılımcı Domain Model, Repository, Specification ve kilitleme desenleriyle kalıcılık katmanını genişletir ve entegrasyon desenlerini ekler.
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
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
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ı retry, circuit breaker ve asenkron tüketici desenlerini kurar, aggregate sınırlarını belirleyip desen kararlarını gerekçelendirir.
Modül 1
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 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
Taktik Tasarım Yapıtları
  • Entity ve kimlik (identity) yönetimi
  • Value Object ve değişmezlik (immutability), eşitlik değere göredir
  • Aggregate ve Aggregate Root: tutarlılık sınırı
  • Aggregate boyutu kuralları: küçük tutma ve ID ile referans verme
  • Domain Service ve ne zaman gerektiği
  • Factory ve Repository ile yaşam döngüsü yönetimi
Modül 4
Desen Seçimi ve Takım Pratiği
  • Problemden desene eşleme tablosu hazırlama
  • MVC içinde Observer, Strategy ve Composite birlikteliği
  • Desenin maliyeti: ek soyutlama katmanı ve okunabilirlik
  • Kod incelemesinde desen kararını gerekçelendirme
  • Vaka çalışması: e-ticaret sipariş ve kampanya modülü
  • Takımda ortak desen sözlüğü ve ADR ile karar kaydı

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
İleri Davranış Desenleri

Visitor, Mediator ve Memento desenlerini uygun problemlerde seçip gerekçelendirebilirsiniz.

🔧
Koku Tespiti

Kod kokularını ve anti-pattern'leri tanıyıp uygun refactoring yöntemini seçebilirsiniz.

🧠
Güvenli Dönüşüm

Birim testlerle korunan küçük adımlarla mevcut kodu desene dönüştürebilirsiniz.

📐
Kalıcılık Desenleri

Active Record ve Data Mapper arasındaki farkı bilerek veri erişim katmanı tasarlayabilirsiniz.

🧩
Entegrasyon

Mesaj tabanlı entegrasyon desenleriyle gevşek bağlı sistem iletişimi kurabilirsiniz.

🛡️
Dayanıklılık

Aşırı yük altında servis kalitesini koruyan dayanıklılık desenlerini uygulayabilirsiniz.

📊
Asenkron Mimari

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

🚀
Karar Gerekçesi

Desen kararlarınızı maliyet ve fayda açısından gerekçelendirip takımla paylaşabilirsiniz.

Kimler İçin Uygundur?

  • Temel tasarım desenlerini bilen
  • üretim sistemlerinde daha ileri çözümler arayan yazılım geliştiriciler
  • mimarlar

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Temel tasarım desenlerini bilen, üretim sistemlerinde daha ileri çözümler arayan yazılım geliştiriciler ve mimarlar.
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 3 gündür; katılımcılar gerçekçi bir ödeme ve sipariş kod tabanı üzerinde yeni desenleri ekler, her değişikliği birim ve entegrasyon testleriyle doğrular.
Başlangıç seviyesinde olanlar katılabilir mi?
Eğitim temel desenleri bildiğinizi varsayar; başlangıç için Design Patterns eğitimi önerilir.
Dağıtık sistem desenleri neden yer alıyor?
Günümüzde birçok uygulama servisler arası çalıştığı için outbox, idempotent receiver ve circuit breaker gibi desenler modern desen repertuvarının parçası sayılır.

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. Expanding Design Patterns 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 Mimarisi ve Tasarım DesenleriOOP Principles & Design Patterns Eğitimi
Yazılım Geliştirme Eğitimleri

OOP Principles & Design Patterns Eğitimi

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

OOP ve tasarım desenleri eğitimi: SOLID, Factory, Builder, Adapter, Decorator, Strategy, Observer ve refactoring ile uygulamalı 3 günlük yazılım tasarım program

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriAgile & TDD Best Practices for APIs: SOLID Design Principles Eğitimi
Yazılım Geliştirme Eğitimleri

Agile & TDD Best Practices for APIs: SOLID Design Principles Eğitimi

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

API'ler için SOLID eğitimi: SRP, OCP, LSP, ISP, DIP, dependency injection, mock ile test edilebilir tasarım ve çevik refactoring ile uygulamalı 2 gün.

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriAgile & TDD Best Practices for APIs: Test-driven Development Design Patterns Eğitimi
Yazılım Geliştirme Eğitimleri

Agile & TDD Best Practices for APIs: Test-driven Development Design Patterns Eğitimi

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

API'ler için TDD eğitimi: red-green-refactor, test double, MockMvc, Testcontainers, Pact sözleşme testi ve tasarım desenleri ile uygulamalı 2 gün.

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriAgile Technical Tester: Refactoring Test Cases in Agile Projects Eğitimi
Yazılım Geliştirme Eğitimleri

Agile Technical Tester: Refactoring Test Cases in Agile Projects Eğitimi

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

Çevik teknik tester eğitimi: test kokuları, test case refactoring, Page Object, flaky test giderme, test verisi, mutation testing ve CI ile uygulamalı 2 gün.

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriAnaliz Mimarili ve İşlemsel Analiz UML Kullanarak - Pratik Atölye Scrum Yöntemi için PO'lar Eğitimi
Yazılım Geliştirme Eğitimleri

Analiz Mimarili ve İşlemsel Analiz UML Kullanarak - Pratik Atölye Scrum Yöntemi için PO'lar Eğitimi

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

Scrum PO'lar için UML analiz atölyesi: use case, aktivite, durum, domain model, kullanıcı hikayesi, kabul kriteri ve backlog iyileştirme ile uygulamalı 2 gün.

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