OBJECT ORIENTED PROGRAMMING & DESIGN PATTERNS EĞİTİMİ

OOP'yi kavrayın, desenlerle tasarıma geçin

Kapsülleme, kalıtım, çok biçimlilik, SOLID ve GoF desenleriyle nesne yönelimli tasarım becerisi kazanın.

Eğitim, OOP'yi yalnızca söz dizimi olarak değil tasarım disiplini olarak ele alır. Sınıf, kapsülleme, kalıtım, interface, çok biçimlilik, generics, koleksiyonlar ve istisna yönetimiyle başlar; ardından SOLID ve GoF desenlerini işler.

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

Eğitim Hakkında

Dört günde OOP temelinden tasarım desenlerine geçiş

Eğitim, OOP'yi yalnızca söz dizimi olarak değil tasarım disiplini olarak ele alır. Sınıf, kapsülleme, kalıtım, interface, çok biçimlilik, generics, koleksiyonlar ve istisna yönetimiyle başlar; ardından SOLID ve GoF desenlerini işler. Factory, Builder, Decorator, Composite, Strategy, Observer, State ve Visitor gibi desenleri kodlar, anti-pattern'leri tanır ve refactoring ile desene geçişi uygularsınız.

Süre ve Format

4 Gün. Her gün dört modül; sabah kavram ve söz dizimi, öğleden sonra mini proje üzerinde kodlama ve code review.

Seviye

Orta Seviye — OOP temellerinden GoF desenlerine, SOLID ve refactoring'e uzanan program tasarımı.

Öğrenme Metodu

Tüm eğitim boyunca ilerleyen bir mini proje (sipariş yönetimi) önce basit OOP ile yazılır, sonra desenlerle yeniden yapılandırılır.

Neden Bu Eğitim?

🧱Sağlam Temel

OOP kavramlarını tasarım kararlarına dönüştürmeyi öğrenirsiniz.

🧩Desen Repertuvarı

GoF desenlerini aynı proje üzerinde uygulayarak etkisini görürsünüz.

🔧Refactoring Alışkanlığı

Kod kokularını tanır, desenlerle iyileştirirsiniz.

Anahtar Konular

object oriented programming eğitimiOOP ve tasarım desenleridesign patternsSOLIDkalıtım ve çok biçimlilikfactory methodstrategy patternrefactoringnesne yönelimli programlama
“İyi nesne tasarımı, doğru sorumluluğu doğru sınıfa vermektir.”

Ön Koşullar

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

1
Programlama Başlangıcı

Bir dilde değişken, döngü ve metot yazmış olmak.

2
Java veya C#

Eğitim Java ve C# örnekleriyle yürür.

3
IDE

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

4
Merak ve Pratik

Her modül sonunda kodlama ödevi vardı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ı sınıf, kapsülleme, kalıtım, generics ve istisna yönetimiyle sağlam OOP programı yazar.
Modül 1
Nesne Yönelimli Programlama Temelleri
  • Sınıf, nesne ve referans kavramları
  • Alanlar, metotlar ve constructor zincirleme
  • Kapsülleme ve erişim belirleyicileri (private, protected, public)
  • static üyeler, this/self ve nesne yaşam döngüsü
  • Çöp toplayıcı (GC) ve bellek yönetimi sezgisi
  • İlk OOP mini projesi: kütüphane yönetimi
Modül 2
Kalıtım ve Çok Biçimlilik
  • extends/: ile kalıtım, override ve super/base çağrısı
  • Dinamik bağlama (dynamic dispatch) ve çok biçimlilik
  • Abstract sınıf ile interface seçimi, default metotlar
  • Kalıtım yerine bileşim (composition over inheritance)
  • Protected üyelerin kırılgan temel sınıf (fragile base class) riski
  • Nesne karşılaştırma: equals/hashCode ve toString sözleşmeleri
Modül 3
Koleksiyonlar, Generics ve İstisnalar
  • Generic sınıf ve metotlar, sınırlı tipler (bounded types)
  • List, Set, Map implementasyonları ve karmaşıklıkları
  • Karşılaştırma: Comparable ve Comparator
  • Checked/unchecked istisnalar ve try-with-resources / using
  • Özel istisna sınıfı tasarımı ve fail-fast yaklaşımı
  • Değişmez (immutable) nesneler, record ve enum kullanımı
Modül 4
OOP Tasarım Temelleri
  • Yüksek uyum (cohesion) ve düşük bağlaşım (coupling)
  • Law of Demeter ve 'Tell, Don't Ask' ilkesi
  • Sözleşmeyle tasarım: ön koşul, son koşul, değişmez
  • Değişmezlik ve yan etkisiz metotlar
  • Küçük arayüz, açık niyet: adlandırma ve API tasarımı
  • Basit sınıf diyagramı ile tasarımı iletme
Günün hedefiKatılımcı SOLID ilkelerini uygular ve Factory, Builder, Adapter, Decorator desenlerini kodlar.
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
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 4
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ı
Günün hedefiKatılımcı Composite, Strategy, Observer, State ve DI konteynerini mini projeye uygular.
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
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ı Visitor, Mediator gibi desenleri uygular, anti-pattern'leri refactor eder ve desen kararlarını sunar.
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:

✅
OOP Temeli

Sınıf, nesne ve kapsülleme ile gerçek problemleri nesne modeline dökebilirsiniz.

🔧
Koleksiyon ve Hata

Generic koleksiyonlar ve istisna yönetimi ile sağlam veri işleyen sınıflar yazabilirsiniz.

🧠
Desen Okuryazarlığı

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

📐
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.

🛡️
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?

  • OOP temelini sağlamlaştırıp tasarım desenlerine geçmek isteyen yazılım geliştiriciler
  • bilgisayar mühendisliği mezunları

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
OOP temelini sağlamlaştırıp tasarım desenlerine geçmek isteyen yazılım geliştiriciler ve bilgisayar mühendisliği mezunları.
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 4 gündür; tüm eğitim boyunca ilerleyen bir mini proje (sipariş yönetimi) önce basit OOP ile yazılır, sonra desenlerle yeniden yapılandırılır.
Başlangıç seviyesinde olanlar katılabilir mi?
Temel programlama bilen herkes katılabilir; ilk gün OOP temelleri baştan işlenir.
Hangi desenler işlenir?
Yaratımsal, yapısal ve davranışsal gruptan en sık kullanılan GoF desenleri ile SOLID ilkeleri işlenir.

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. Object Oriented Programming & Design Patterns Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre4 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 DesenleriKurumsal Yazılım Mimarisi Eğitimi
Yazılım Geliştirme Eğitimleri

Kurumsal Yazılım Mimarisi Eğitimi

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

Kurumsal Yazılım Mimarisi eğitimi: katmanlı mimari, PoEAA, DDD sınırları, mikroservis, entegrasyon, dayanıklılık, ADR ve C4, 4 gün uygulamalı.

Detayları Gör →
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 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