SOFTWARE DESIGN AND DEVELOPMENT: DESIGN PATTERNS & SOLID PRINCIPLES EĞİTİMİ

SOLID ve desenlerle sağlam yazılım tasarlayın

SOLID ilkeleri ve GoF desenleriyle esnek yazılım tasarımı; DI, anti-pattern ve refactoring uygulamaları.

Eğitim, yazılım tasarım ve geliştirme sürecinde SOLID ilkeleri ile GoF desenlerini birlikte ele alır. Desen kavramı ve SOLID'le başlar; Factory, Builder, Adapter, Decorator, Composite, Strategy, Observer, Command, State ve Visitor desenlerini kodlar, bağımlıl…

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

Eğitim Hakkında

Üç günde SOLID ilkeleri ile tasarım desenlerinin birlikte uygulanması

Eğitim, yazılım tasarım ve geliştirme sürecinde SOLID ilkeleri ile GoF desenlerini birlikte ele alır. Desen kavramı ve SOLID'le başlar; Factory, Builder, Adapter, Decorator, Composite, Strategy, Observer, Command, State ve Visitor desenlerini kodlar, bağımlılık enjeksiyonuyla birleştirirsiniz. Anti-pattern ve kod kokularını tespit eder, refactoring ile desene geçişi yapar, takım içi desen kararlarını belgelersiniz.

Süre ve Format

3 Gün. Her gün dört modül; sabah ilke/desen anlatımı, öğleden sonra kod refactoring atölyesi.

Seviye

Orta Seviye — GoF desenleri, SOLID ilkeleri, DI ve refactoring ile yazılım tasarımı.

Öğrenme Metodu

Katılımcılar bir kod tabanındaki SOLID ihlallerini bulur, hangi desenin hangi problemi çözdüğünü tartışır ve değişiklikleri testle doğrular.

Neden Bu Eğitim?

📐İlke ve Desen Birlikte

SOLID'in neden, desenlerin nasıl sorusuna cevap verdiğini birlikte görürsünüz.

🧼Kod Kalitesi

Kod kokularını tespit edip uygun desen veya refactoring ile giderirsiniz.

👥Takım Dili

Desen adlarıyla kod incelemesinde net iletişim kurarsınız.

Anahtar Konular

software design patternsSOLID principlesGoF tasarım desenleriyazılım tasarımı eğitimidependency injectionrefactoringanti-patterndecorator patternstrategy pattern
“İlkeler yönü gösterir, desenler yolu çizer.”

Ön Koşullar

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

1
OOP Bilgisi

Sınıf, interface ve kalıtım kullanabilme.

2
Java veya C#

Orta düzey dil bilgisi.

3
Birim Test

Basit birim test yazabilme.

4
IDE

IntelliJ IDEA veya Visual Studio 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ı SOLID ilkelerini uygular, yaratımsal desenleri kodlar ve DI ile bağımlılıkları yönetir.
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
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 3
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 4
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
Günün hedefiKatılımcı Adapter, Decorator, Composite, Flyweight, Strategy, Observer, Command ve State desenlerini problemlerle eşleştirir.
Modül 1
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ı
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
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 4
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
Günün hedefiKatılımcı Visitor ve Mediator desenlerini uygular, anti-pattern içeren kodu refactor eder ve takım için desen kılavuzu hazırlar.
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
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.

🔧
Nesne Üretimi

Factory, Builder ve Prototype desenleriyle nesne yaratımını istemci kodundan ayırabilirsiniz.

🧠
Bağımlılık Yönetimi

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

📐
Ağaç ve Köprü Yapıları

Composite ve Bridge ile hiyerarşik modeller kurup Flyweight ile bellek kullanımını azaltabilirsiniz.

🧩
Davranış Desenleri

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

🛡️
İ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.

🚀
Karar Gerekçesi

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

Kimler İçin Uygundur?

  • Tasarım becerisini ilkeler
  • desenlerle güçlendirmek isteyen yazılım geliştiriciler ve teknik liderler

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Tasarım becerisini ilkeler ve desenlerle güçlendirmek 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; katılımcılar bir kod tabanındaki SOLID ihlallerini bulur, hangi desenin hangi problemi çözdüğünü tartışır ve değişiklikleri testle doğrular.
SOLID ile desenler arasındaki ilişki nedir?
SOLID ilkeleri tasarımın genel yönünü belirler; desenler bu ilkelerin belirli problemler için kanıtlanmış uygulamalarıdır.
Örnekler hangi dilde?
Java ve C# birlikte kullanılır; katılımcı kendi diline uyarlayabilir.

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. Software Design and Development: Design Patterns & SOLID Pri 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 DesenleriNesne Tabanlı Analiz ve Tasarım UML Dili Kullanarak Eğitimi
Yazılım Geliştirme Eğitimleri

Nesne Tabanlı Analiz ve Tasarım UML Dili Kullanarak Eğitimi

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

UML ile nesne tabanlı analiz ve tasarım eğitimi: use case, domain model, GRASP, sıra/durum diyagramları, SOLID ve temel desenler, 4 gün uygulamalı.

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriNesne yönelimli Programming Geofizik için MATLAB (Temel Seviye) Eğitimi
Yazılım Geliştirme Eğitimleri

Nesne yönelimli Programming Geofizik için MATLAB (Temel Seviye) Eğitimi

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

Geofizik için MATLAB nesne yönelimli programlama eğitimi: classdef, handle/value sınıfı, sismik ve kuyu verisi, App Designer ve unittest. Temel seviye, 3 gün.

Detayları Gör →
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 →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn