EFFECTIVE JAVA PROGRAMMING USING DESIGN PATTERNS EĞİTİMİ

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

Creational, structural ve behavioral desenleri modern Java ile uygulayın, hangi problemde hangi deseni seçeceğinizi öğrenin.

3 günlük Java tasarım desenleri eğitimi: GoF desenleri, Effective Java önerileri, lambda ile sadeleştirme, JDK ve Spring örnekleri ve refaktör uygulamaları.

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

Eğitim Hakkında

GoF tasarım desenleri ve Effective Java yaklaşımı

Bu eğitim tasarım desenlerini Java dilinin modern özellikleriyle birlikte öğretir. Singleton, Factory Method, Abstract Factory, Builder, Prototype; Adapter, Decorator, Facade, Proxy, Composite; Strategy, Observer, Command, Template Method, State, Chain of Responsibility ve Visitor desenleri uygulanır. Joshua Bloch'un Effective Java önerileri (static factory, immutability, Optional, enum singleton), lambda ile desen sadeleştirme ve Spring'deki desen örnekleri de işlenir.

Süre ve Format

3 Gün. Her gün dört modül; toplam 12 modül, her modülde altı konu başlığı ve uygulama çalışması yer alır.

Seviye

İleri Seviye — GoF tasarım desenleri (creational, structural, behavioral), Java'ya özgü deyimler ve modern Java ile desen uygulaması.

Öğrenme Metodu

Her desen önce kötü tasarım örneğiyle problem olarak gösterilir, ardından desenle refaktör edilir ve UML diyagramıyla belgelenir.

Neden Bu Eğitim?

🎯Desen seçme yetisi

Desenleri ezberlemek yerine hangi problemde hangisinin uygun olduğunu karar tablosuyla öğrenirsiniz.

🛠️Modern Java ile sadeleştirme

Strategy ve Command gibi desenlerin lambda ile kısa yazımı gösterilir.

🚀Framework tanıma

Spring ve JDK içindeki desen örnekleri tanınır.

Anahtar Konular

java tasarım desenlerigof design patternssingleton javabuilder pattern javastrategy patterndecorator patternobserver patterneffective javafactory pattern javadesign patterns eğitimi
“Desen, çözümün adıdır, çözümün kendisi değil.”

Ön Koşullar

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

1
İleri OOP

Kalıtım, arayüz, polimorfizm ve SOLID bilgisi gerekir.

2
Java 8+ özellikleri

Lambda, Stream ve generics kullanabilmek gerekir.

3
UML okuma

Sınıf diyagramı okumak faydalıdır.

4
IDE

IntelliJ IDEA veya Eclipse kurulu bir bilgisayar gerekir.

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ı nesne oluşturma desenlerini doğru problemde uygular.
Modül 1
Singleton ve Static Factory
  • thread-safe singleton: enum, holder idiom
  • double-checked locking
  • singleton'ın test zorluğu
  • static factory metot (Effective Java)
  • valueOf ve of isimlendirmesi
  • instance control
Modül 2
Factory Method ve Abstract Factory
  • Factory Method yapısı
  • Abstract Factory ile ürün aileleri
  • registry tabanlı factory
  • Supplier ile fabrika
  • fabrika ve DI ilişkisi
  • JDK'den örnek: Calendar.getInstance
Modül 3
Builder
  • telescoping constructor problemi
  • fluent Builder
  • zorunlu alan doğrulama
  • Lombok @Builder ve alternatif
  • immutable nesne üretimi
  • StringBuilder ve Stream.Builder örnekleri
Modül 4
Prototype ve Object Pool
  • Prototype ve kopyalama
  • clone sorunları ve copy constructor
  • derin ve yüzeysel kopya
  • Object Pool deseni
  • HikariCP örneği
  • pool boyutu ve sızıntı
Günün hedefiKatılımcı yapısal desenlerle mevcut kodu sarmalar ve genişletir.
Modül 1
Adapter ve Facade
  • Adapter ile uyumsuz arayüz
  • nesne ve sınıf adapter
  • Arrays.asList örneği
  • Facade ile alt sistem sadeleştirme
  • Facade ve servis katmanı
  • Adapter ve Facade farkı
Modül 2
Decorator ve Proxy
  • Decorator ile davranış ekleme
  • java.io akış zinciri
  • Proxy türleri: virtual, protection, remote
  • JDK dynamic proxy
  • CGLIB ve Spring AOP
  • Decorator ve Proxy farkı
Modül 3
Composite ve Bridge
  • Composite ile ağaç yapısı
  • dosya sistemi örneği
  • Bridge ile soyutlama ve gerçekleme ayrımı
  • JDBC Driver örneği
  • Flyweight ve Integer cache
  • Composite ve Visitor birlikte
Modül 4
Immutability ve Value Object
  • immutable sınıf kuralları
  • record kullanımı
  • defensive copy
  • value object ve equals
  • sealed tipler ve cebirsel veri tipi
  • Optional doğru kullanımı
Günün hedefiKatılımcı davranışsal desenleri lambda ve modern Java ile uygular.
Modül 1
Strategy ve Template Method
  • Strategy ile algoritma değiştirme
  • lambda ile Strategy
  • Comparator örneği
  • Template Method ve kancalar (hook)
  • kalıtım ile kompozisyon karşılaştırması
  • Spring JdbcTemplate örneği
Modül 2
Observer ve Command
  • Observer ve olay modeli
  • PropertyChangeListener
  • Flow API ve reaktif akış girişi
  • Command ile işlem nesnesi
  • undo/redo
  • iş kuyruğu ve Runnable
Modül 3
State ve Chain of Responsibility
  • State ile durum makinesi
  • enum tabanlı state
  • Chain of Responsibility ile işleyici zinciri
  • Servlet Filter örneği
  • Mediator
  • Iterator ve Iterable
Modül 4
Visitor ve Desen Seçimi
  • Visitor ve çift dağıtım
  • sealed + pattern matching ile Visitor alternatifi
  • desen aşırı kullanımı (over-engineering)
  • karar tablosu: problem→desen
  • refaktör ile desene geçiş
  • mini proje: ödeme motoru tasarımı

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Creational desenler

Singleton, Factory, Builder ve Prototype desenlerini doğru problemde uygulayabilirsiniz.

✅
Static factory

Effective Java önerisiyle static factory metotlarını tasarlayabilirsiniz.

✅
Structural desenler

Adapter, Decorator, Proxy ve Composite ile mevcut kodu bozmadan genişletebilirsiniz.

✅
Behavioral desenler

Strategy, Observer, Command ve State desenlerini lambda ile sade yazabilirsiniz.

✅
Immutability

Immutable sınıf ve record ile güvenli değer nesneleri tasarlayabilirsiniz.

✅
JDK desen okuma

java.io, Collections ve Servlet Filter içindeki desenleri tanıyabilirsiniz.

✅
Desen seçimi

Probleme uygun deseni karar tablosuyla seçebilir, gereksiz desenden kaçınabilirsiniz.

✅
Refaktör uygulama

Mevcut kodu desenle sadeleştirip UML ile belgeleyebilirsiniz.

Kimler İçin Uygundur?

  • Orta ve ileri düzey Java geliştiriciler
  • tasarımcılar
  • mimariye geçiş yapan teknik liderler

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Orta ve ileri düzey Java geliştiriciler, tasarımcılar ve mimariye geçiş yapan teknik liderler.
Tüm GoF desenleri işleniyor mu?
En çok kullanılan yaklaşık 20 desen işlenir, nadir kullanılanlar kısaca anılır.
Effective Java kitabı gerekli mi?
Gerekli değil, kitaptaki ilgili maddeler eğitimde özetlenir.
Spring ile ilişkisi var mı?
Evet, Proxy, Template Method ve Factory gibi desenlerin Spring'deki karşılıkları gösterilir.
Sertifika verilir mi?
Katılımcılara 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. Effective Java Programming Using 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

Java ve JVMAdvanced Data Structures & Algorithms in Java: Working with Graph Algorithms Eğitimi
Yazılım Geliştirme Eğitimleri

Advanced Data Structures & Algorithms in Java: Working with Graph Algorithms Eğitimi

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

Java ile graf algoritmaları: BFS/DFS, Dijkstra, Bellman-Ford, A*, Prim, Kruskal, Union-Find ve topolojik sıralamayı gerçek problemlerle uygulayın.

Detayları Gör →
Java ve JVMAdvanced Data Structures & Algorithms in Java: Working with the Binary Heap Eğitimi
Yazılım Geliştirme Eğitimleri

Advanced Data Structures & Algorithms in Java: Working with the Binary Heap Eğitimi

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

Java ile binary heap ve PriorityQueue: siftUp, siftDown, heapify, heap sort, top-K, k listeyi birleştirme ve kayan medyan problemlerini uygulamalı öğrenin.

Detayları Gör →
Java ve JVMAdvanced Features in Java: Getting Started with Java Collections Eğitimi
Yazılım Geliştirme Eğitimleri

Advanced Features in Java: Getting Started with Java Collections Eğitimi

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

Java Collections Framework giriş eğitimi: List, Set, Queue, Map yapıları, Iterator, equals/hashCode, Comparator ve doğru koleksiyon seçimi uygulamalı işlenir.

Detayları Gör →
Java ve JVMAdvanced Features in Java: List Algorithms & Implementations Eğitimi
Yazılım Geliştirme Eğitimleri

Advanced Features in Java: List Algorithms & Implementations Eğitimi

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

Java liste algoritmaları: ArrayList ve LinkedList'i sıfırdan yazın; ters çevirme, Floyd döngü tespiti, birleştirme ve merge sort ile liste işlemlerini öğrenin.

Detayları Gör →
Java ve JVMAdvanced Features in Java: Using Built-in Annotations Eğitimi
Yazılım Geliştirme Eğitimleri

Advanced Features in Java: Using Built-in Annotations Eğitimi

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

Java yerleşik annotation eğitimi: @Override, @Deprecated, @SuppressWarnings, @FunctionalInterface, @SafeVarargs ve meta-annotation'lar uygulamalı olarak işlenir

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