DESIGN PATTERNS EĞİTİMİ

Kod tekrarını bırakın, kanıtlanmış çözümleri kullanın

GoF desen kataloğu, SOLID, bağımlılık enjeksiyonu ve refactoring ile desene geçiş uygulamalı olarak ele alınır.

Eğitim, GoF kataloğundaki yaratımsal, yapısal ve davranışsal desenleri Java veya C# örnekleriyle işler. Factory Method, Abstract Factory, Builder, Decorator, Adapter, Strategy, Observer, Command, State ve Visitor gibi desenlerin niyetini, UML yapısını ve doğr…

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

Eğitim Hakkında

Üç gün boyunca GoF kataloğunun çekirdeği ve desenlerin gerçek kod tabanına uygulanışı

Eğitim, GoF kataloğundaki yaratımsal, yapısal ve davranışsal desenleri Java veya C# örnekleriyle işler. Factory Method, Abstract Factory, Builder, Decorator, Adapter, Strategy, Observer, Command, State ve Visitor gibi desenlerin niyetini, UML yapısını ve doğru kullanım sınırını öğrenirsiniz. SOLID ilkeleri, bağımlılık enjeksiyonu ve anti-pattern analiziyle desenlerin hangi problemde değer kattığını gerekçelendirmeyi uygularsınız.

Süre ve Format

3 Gün. Her gün dört modül; sabah desen anlatımı ve UML okuma, öğleden sonra aynı desenin refactoring egzersizi.

Seviye

Orta Seviye — GoF yaratımsal, yapısal ve davranışsal desenlerden SOLID, DI ve refactoring ile desene geçişe uzanan yelpaze.

Öğrenme Metodu

Her desen önce soruna yol açan "kötü" kodla gösterilir, ardından katılımcılar kodu IDE üzerinde desene dönüştürür ve birim testle doğrular.

Neden Bu Eğitim?

🧩Ortak Teknik Dil

Strategy, Decorator veya Observer gibi isimlerle tasarım kararlarını ekip içinde tek cümleyle aktarırsınız.

🛠️Kod Üzerinde Pratik

Her desen çalışan koda uygulanır; slayt bilgisi yerine refactoring deneyimi kazanırsınız.

⚖️Doğru Seçim

Desenin maliyetini ve alternatiflerini tartarak gereksiz soyutlamadan kaçınırsınız.

Anahtar Konular

design patterns eğitimiGoF tasarım desenleritasarım kalıplarıSOLID ilkelerifactory methodstrategy patternobserver patterndependency injectionrefactoring to patterns
“İyi tasarım, değişikliğin maliyetini baştan düşük tutan tasarımdır.”

Ön Koşullar

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

1
OOP Bilgisi

Sınıf, kalıtım, arayüz ve çok biçimlilik kavramlarına aşinalık gerekir.

2
Java veya C#

Örnekler Java ya da C# ile yürütülür; temel söz dizimi bilinmelidir.

3
IDE Kurulumu

IntelliJ IDEA, Eclipse veya Visual Studio kurulu bir dizüstü bilgisayar getirilmelidir.

4
Birim Test Temeli

JUnit veya xUnit ile basit bir test yazmış olmak faydalıdır.

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ı GoF kataloğunun mantığını kavrar, yaratımsal desenleri uygular ve SOLID ihlallerini tespit eder.
Modül 1
Desen Kavramı ve GoF Kataloğu
  • Christopher Alexander'ın pattern language kökeni ve GoF kitabının yazılıma uyarlaması
  • Desen şablonu: bağlam, problem, kuvvetler, çözüm ve sonuçlar
  • GoF'un 23 deseninin yaratımsal, yapısal ve davranışsal sınıflandırması
  • Desen, idiom ve mimari stil arasındaki farklar
  • Desenlerin UML sınıf diyagramındaki katılımcı rolleriyle okunması
  • Aşırı mühendislik riski: desen ne zaman uygulanmamalı
Modül 2
Yaratımsal Desenler
  • Singleton ve thread-safe lazy başlatma (double-checked locking, Java enum singleton, C# Lazy<T>)
  • Factory Method ile nesne üretiminin alt sınıfa devri
  • Abstract Factory ile ürün aileleri (tema seti, veritabanı sağlayıcısı)
  • Builder ve akıcı (fluent) arayüz ile çok parametreli nesne inşası
  • Prototype ile kopyalama: yüzeysel ve derin klon farkı
  • Singleton yerine DI konteyneri ve nesne havuzu (object pool) alternatifleri
Modül 3
SOLID İlkeleri
  • SRP: değişim nedeni kavramı ve sorumlulukların ayrıştırılması
  • OCP: soyutlama ile genişleme, if-zincirlerinin temizlenmesi
  • LSP: sözleşmeyle tasarım ve Kare-Dikdörtgen ihlali
  • ISP: şişkin arayüzün rol arayüzlerine bölünmesi
  • DIP: yüksek seviyeli modülün soyutlamaya bağımlı kılınması
  • Kod kokularından SOLID ihlali tespiti ve düzeltme sırası
Modül 4
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ı
Günün hedefiKatılımcı Composite, Flyweight, Strategy, Observer, Command, State ve Visitor desenlerini uygun problemlere eşler.
Modül 1
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 2
Strategy, Observer ve Command
  • Strategy ile algoritma değişimi: indirim kuralları, sıralama ve ödeme yöntemleri
  • Observer ile olay yayını, push ve pull modelleri
  • Zayıf referanslar ve lapsed listener bellek sızıntısı
  • Command ile isteğin nesneleştirilmesi, undo/redo yığını
  • Komut kuyruğu ve makro komut (composite command)
  • C# delegate/event ve Java lambda ile desenlerin sadeleştirilmesi
Modül 3
State, Template Method ve Chain of Responsibility
  • State ile durum makinesi: sipariş ve belge yaşam döngüsü
  • switch/if-else yerine polimorfik durum sınıfları
  • Template Method ile algoritma iskeleti ve hook metotlar
  • Hollywood ilkesi: çerçeve çağırır, siz çağırmazsınız
  • Chain of Responsibility ile middleware ve filtre zincirleri
  • Servlet Filter ve ASP.NET Core pipeline ile karşılaştırma
Modül 4
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
Günün hedefiKatılımcı DI konteyneri kurar, anti-pattern içeren kodu birim testlerle güvenceye alıp desene dönüştürür.
Modül 1
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 2
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 3
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ı
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:

✅
Desen Okuryazarlığı

GoF desenlerini bağlam, problem ve çözüm şablonuyla okuyup kod tabanında tanıyabilirsiniz.

🔧
SOLID Uygulama

Mevcut sınıflardaki SOLID ihlallerini tespit edip adım adım düzeltebilirsiniz.

🧠
Yapısal Desenler

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

📐
Davranış Desenleri

Strategy, Observer ve Command desenleriyle değişen davranışları esnek biçimde modelleyebilirsiniz.

🧩
Akış Kontrolü

State ve Chain of Responsibility ile koşul yığınlarını okunabilir sınıf yapılarına dönüştürebilirsiniz.

🛡️
Bağımlılık Yönetimi

Constructor injection ile gevşek bağlı ve test edilebilir sınıflar tasarlayabilirsiniz.

📊
Koku Tespiti

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

🚀
Karar Gerekçesi

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

Kimler İçin Uygundur?

  • Nesne yönelimli programlamayı bilen
  • kod tabanlarını daha esnek
  • bakımı kolay hale getirmek isteyen yazılım geliştiriciler ve teknik liderler

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Nesne yönelimli programlamayı bilen, kod tabanlarını daha esnek ve bakımı kolay hale getirmek isteyen yazılım geliştiriciler ve teknik liderler.
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; her desen önce soruna yol açan "kötü" kodla gösterilir, ardından katılımcılar kodu IDE üzerinde desene dönüştürür ve birim testle doğrular.
Hangi dil kullanılır?
Örnekler Java ve C# ile verilir; kavramlar iki dile de aktarılabilecek şekilde anlatılır, katılımcı kendi dilinde de çalışabilir.
Bütün 23 GoF deseni işlenir mi?
Pratikte en sık kullanılan desenler derinlemesine, kalan desenler ise niyet ve yapı düzeyinde işlenir; kataloğu bağımsız kullanabilecek referans 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. Design Patterns Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeOrta 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 DesenleriObject Oriented Programming & Design Patterns Eğitimi
Yazılım Geliştirme Eğitimleri

Object Oriented Programming & Design Patterns Eğitimi

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

OOP ve Design Patterns eğitimi: kapsülleme, kalıtım, çok biçimlilik, SOLID ve GoF desenleri ile refactoring. Java/C# ile 4 gün uygulamalı.

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriObject-Oriented Design with UML Eğitimi
Yazılım Geliştirme Eğitimleri

Object-Oriented Design with UML Eğitimi

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

Object-Oriented Design with UML eğitimi: use case, domain model, GRASP, sınıf, sıra, durum ve etkinlik diyagramları ile SOLID. 3 gün uygulamalı atölye.

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriObject-oriented Programming & Design Basics Eğitimi
Yazılım Geliştirme Eğitimleri

Object-oriented Programming & Design Basics Eğitimi

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

OOP ve Design Basics eğitimi: sınıf, kalıtım, interface, SOLID, UML temelleri, temiz kod ve birim test. Java/C# ile temel seviye 3 gün.

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriOCUP UML Sertifikasyonu - UML Orta Düzey Sınavına Hazırlanma. Eğitimi
Yazılım Geliştirme Eğitimleri

OCUP UML Sertifikasyonu - UML Orta Düzey Sınavına Hazırlanma. Eğitimi

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

OCUP UML orta düzey sınav hazırlık eğitimi: gelişmiş sınıf, bileşen, durum, etkinlik ve sıra diyagramı semantiği, deneme sınavı. Sınav ücreti ilgili kuruma aitt

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriOCUP UML Sertifikasyonu - UML Temel Sınav Hazırlığı Eğitimi
Yazılım Geliştirme Eğitimleri

OCUP UML Sertifikasyonu - UML Temel Sınav Hazırlığı Eğitimi

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

OCUP UML temel sınav hazırlık eğitimi: sınıf, use case, sıra, durum, etkinlik diyagramları, çözümlü sorular ve deneme sınavı. Sınav ücreti ilgili kuruma aittir.

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