JAVA İÇİN TASARIM DESENLERİ (GOF) EĞİTİMİ

Tasarım desenlerini Java'da doğru uygulayın

SOLID, Factory, Builder, Singleton, Adapter, Decorator, Observer, Strategy, Command ve refactoring.

Eğitim SOLID ilkeleri ve 23 GoF deseninin Java'daki karşılıklarını işler: Singleton, Factory Method, Abstract Factory, Builder, Prototype; Adapter, Decorator, Facade, Proxy, Composite; Strategy, Observer, Command, State, Template Method, Chain of Responsibili…

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

Eğitim Hakkında

GoF desenleri ve SOLID ilkeleri Java ile

Eğitim SOLID ilkeleri ve 23 GoF deseninin Java'daki karşılıklarını işler: Singleton, Factory Method, Abstract Factory, Builder, Prototype; Adapter, Decorator, Facade, Proxy, Composite; Strategy, Observer, Command, State, Template Method, Chain of Responsibility, Visitor. Lambda, enum ve sealed tiplerle modern uygulamalar, JDK ve Spring içindeki desen örnekleri ve anti-pattern'ler ele alınır.

Süre ve Format

3 Gün. Her gün dört modül; SOLID ve Oluşturucu Desenler; Yapısal Desenler; Davranışsal Desenler ekseninde ilerleyen uygulamalı program.

Seviye

Orta Seviye — GoF tasarım desenlerinin Java ile uygulanması: creational, structural, behavioral ve SOLID

Öğrenme Metodu

Her desen önce kötü tasarımlı bir kod üzerinde sorun olarak gösterilir, ardından katılımcılarla refactor edilir; UML çizimi ve çalışan kod birlikte ilerler.

Neden Bu Eğitim?

🧠Ortak dil

Ekiple tasarım kararlarını desen adlarıyla hızlı ve net konuşursunuz.

♻️Refactoring

Şartlı ifadelerle dolu kodu Strategy, State gibi desenlerle sadeleştirirsiniz.

🔍Desen tanıma

JDK ve framework kodunda kullanılan desenleri fark edersiniz.

Anahtar Konular

gof tasarım desenlerijava design patternsSOLID prensiplerifactory pattern javastrategy patternobserver patterndecorator patternbuilder patterntasarım desenleri eğitimi
“Desen bir şablon değil, tekrar eden bir tasarım sorusuna verilmiş isimli bir cevaptır.”

Ön Koşullar

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

1
Java OOP

Kalıtım, interface, abstract sınıf ve polimorfizm.

2
UML

Sınıf diyagramı okuma temeli.

3
Java 17

Lambda ve temel Java 17 özellikleri.

4
IDE

IntelliJ IDEA veya Eclipse kullanımı.

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 hedefiCreational
Modül 1
SOLID İlkeleri
  • Single Responsibility ve değişme nedeni
  • Open/Closed ve genişletme noktaları
  • Liskov Substitution ihlal örnekleri
  • Interface Segregation ve ince arayüzler
  • Dependency Inversion ve DI
  • Kod kokuları ve desen ilişkisi
Modül 2
Singleton ve Prototype
  • Singleton: eager, lazy, double-checked locking
  • Enum singleton ve serileştirme sorunları
  • Singleton'ın test edilebilirliğe zararı
  • Prototype ve clone/copy constructor
  • Derin ve yüzeysel kopya
  • Registry ile prototype yönetimi
Modül 3
Factory Desenleri
  • Simple Factory ve Factory Method
  • Abstract Factory ile ürün aileleri
  • Supplier ve lambda ile fabrika
  • Service Loader ile eklenti yükleme
  • Spring ApplicationContext'in fabrika yönü
  • Fabrika seçim kararları
Modül 4
Builder
  • Klasik Builder ve fluent API
  • Telescoping constructor sorunu
  • Director ve adım adım yapı
  • Lombok @Builder ile karşılaştırma
  • Immutable nesne üretimi
  • JDK'daki Builder örnekleri (StringBuilder, HttpRequest)
Günün hedefiStructural
Modül 1
Adapter ve Facade
  • Object ve class adapter farkı
  • Eski API'yi yeni arayüze uyarlama
  • Facade ile karmaşık alt sistemi sadeleştirme
  • Anti-corruption layer ilişkisi
  • Arrays.asList ve InputStreamReader örnekleri
  • Facade'in aşırı şişmesi
Modül 2
Decorator ve Proxy
  • Decorator ile dinamik sorumluluk ekleme
  • java.io akış zinciri decorator örneği
  • Statik ve dinamik proxy (java.lang.reflect.Proxy)
  • CGLIB ve Spring AOP proxy mantığı
  • Lazy loading proxy (Hibernate)
  • Proxy ile erişim kontrolü
Modül 3
Composite ve Bridge
  • Composite ile ağaç yapıları ve ortak arayüz
  • Menü, dosya sistemi örnekleri
  • Bridge ile soyutlama ve implementasyon ayrımı
  • Flyweight ve nesne havuzu
  • String pool ve Integer cache
  • Bellek-hız dengesi
Modül 4
Modern Yapısal Çözümler
  • Fonksiyonel dekoratör (Function.andThen)
  • Record ve sealed ile Composite
  • Mixin için default metot
  • Modül sınırları ve facade
  • Deseni çok kullanma tuzağı
  • Kod gözden geçirme çalıştayı
Günün hedefiBehavioral
Modül 1
Strategy ve Template Method
  • if-else zincirini Strategy ile kaldırma
  • Lambda ile Strategy
  • Comparator örneği
  • Template Method ve hook metotları
  • Strategy ile Template farkı
  • Spring JdbcTemplate yapısı
Modül 2
Observer ve Mediator
  • Observer, PropertyChangeListener, Flow API
  • Olay yayını ve Spring ApplicationEvent
  • Pull ve push modeli
  • Mediator ile bileşenleri ayırma
  • Bellek sızıntısı: dinleyici kaldırmama
  • Reaktif akışlarla ilişki
Modül 3
Command, State, Chain
  • Command ile geri al/yinele (undo/redo)
  • İş kuyruğu ve Runnable
  • State ile durum makinesi ve enum state
  • Chain of Responsibility ve servlet filter
  • Iterator ve Spliterator
  • Memento ile durum kaydı
Modül 4
Visitor ve Pratik Uygulama
  • Visitor ve double dispatch
  • Sealed tiplerle Visitor alternatifi
  • Interpreter ve basit ifade ayrıştırıcı
  • Desenleri birleştiren mini proje
  • Anti-pattern: God object, Service Locator
  • Desen seçim rehberi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
SOLID

SOLID ilkelerini ihlal eden kodu tanıyıp düzeltebilirsiniz.

🎯
Creational

Factory ve Builder ile nesne üretimini esnekleştirebilirsiniz.

🧩
Structural

Adapter, Decorator ve Proxy desenlerini uygulayabilirsiniz.

⚙️
Behavioral

Strategy, Observer ve Command ile davranışları ayırabilirsiniz.

🔍
Refactoring

Şartlı ifade yığınlarını desenle sadeleştirebilirsiniz.

🛠️
Desen tanıma

JDK ve Spring içindeki desenleri tanıyabilirsiniz.

📈
Modern Java

Lambda ve sealed tiplerle desenleri kısaltabilirsiniz.

🚀
Anti-pattern

Desen kullanımında aşırı mühendisliği ayırt edebilirsiniz.

Kimler İçin Uygundur?

  • Nesne yönelimli Java bilgisi olan
  • kod kalitesi
  • esnek tasarım üzerine çalışmak isteyen geliştiriciler ile teknik liderler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Nesne yönelimli Java bilgisi olan, kod kalitesi ve esnek tasarım üzerine çalışmak isteyen geliştiriciler ile teknik liderler için uygundur.
Eğitime katılmak için hangi ön bilgiler gerekir?
Java OOP: Kalıtım, interface, abstract sınıf ve polimorfizm. UML: Sınıf diyagramı okuma temeli.
Eğitim nasıl ilerler ve kaç gün sürer?
Eğitim 3 gün sürer; her gün dört modülden oluşur ve her modülde anlatım ile uygulamalı çalışma birlikte yürür. Günler sırasıyla: SOLID ve Oluşturucu Desenler; Yapısal Desenler; Davranışsal Desenler.
Eğitim sonunda sertifika verilir mi?
Evet, katılım ve başarı koşullarını sağlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.
Tasarım desenlerini her projede kullanmalı mıyım?
Hayır. Eğitimde her desenin hangi sorun için çıktığı ve ne zaman gereksiz karmaşıklık yarattığı birlikte tartışı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. Java için Tasarım Desenleri (GoF) 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

Java ve JVMİleri Seviye Spring Mikroservisleri Eğitimi
Yazılım Geliştirme Eğitimleri

İleri Seviye Spring Mikroservisleri Eğitimi

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

İleri Spring mikroservis eğitimi: DDD, saga, transactional outbox, CQRS, event sourcing, Kafka, Keycloak OAuth2, OpenTelemetry, Pact ve Kubernetes Helm dağıtımı

Detayları Gör →
Java ve JVMJakarta Servlets: Deploying WAR Files with Maven and Cargo Eğitimi
Yazılım Geliştirme Eğitimleri

Jakarta Servlets: Deploying WAR Files with Maven and Cargo Eğitimi

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

Maven ve Cargo ile WAR dağıtım eğitimi: maven-war-plugin, WEB-INF yapısı, Cargo Maven Plugin, Tomcat 10 ve WildFly uzak dağıtım, profiller ve CI otomasyonu.

Detayları Gör →
Java ve JVMJakarta Servlets: Deployment Descriptors and WAR Files Eğitimi
Yazılım Geliştirme Eğitimleri

Jakarta Servlets: Deployment Descriptors and WAR Files Eğitimi

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

Jakarta Servlet dağıtım betimleyicisi eğitimi: web.xml, servlet-mapping, filter, listener, error-page, security-constraint, FORM login ve WAR yapısı.

Detayları Gör →
Java ve JVMJakarta Servlets: Getting Started with Servlets Eğitimi
Yazılım Geliştirme Eğitimleri

Jakarta Servlets: Getting Started with Servlets Eğitimi

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

Jakarta Servlet başlangıç eğitimi: HttpServlet, doGet ve doPost, HttpServletRequest, form işleme, redirect ve forward, servlet yaşam döngüsü, oturum ve Tomcat 1

Detayları Gör →
Java ve JVMJakarta Servlets: Request and Application Scope Attributes Eğitimi
Yazılım Geliştirme Eğitimleri

Jakarta Servlets: Request and Application Scope Attributes Eğitimi

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

Servlet scope eğitimi: request, session ve application scope öznitelikleri, forward, thread güvenliği, AtomicInteger, ConcurrentHashMap, listener ve oturum güve

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