PYTHON DESIGN PATTERNS: PRINCIPLES OF GOOD DESIGN EĞİTİMİ

Bakımı kolay Python tasarımları kurun

SOLID, DRY, kompozisyon, soyutlama ve bağımlılık enjeksiyonu ile okunabilir ve değişime dayanıklı Python kodu yazın

SOLID ilkeleri, kalıtım yerine kompozisyon, abc ve typing.Protocol ile soyutlama, bağımlılık enjeksiyonu ve refactoring teknikleri kötü tasarımlı kod üzerinde adım adım uygulanır.

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

Eğitim Hakkında

Tasarım kalıplarının temelindeki prensipler ve Pythonic uygulama

Tasarım kalıplarına geçmeden önce gereken temel prensipleri Python ile öğretir. SOLID ilkeleri, DRY/KISS/YAGNI, kalıtım yerine kompozisyon, abc ve typing.Protocol ile soyutlama, bağımlılık enjeksiyonu, yüksek uyum ve düşük bağlılık, kod kokuları ve refactoring teknikleri örnek kod üzerinde adım adım ve ölçülebilir biçimde işlenir.

Süre ve Format

3 Gün. Her gün dört modül; 1. gün SOLID İlkeleri, 2. gün Kompozisyon ve Soyutlama, 3. gün Sadelik ve Refactoring konularına ayrılmıştır.

Seviye

Orta Seviye — SOLID, kompozisyon, bağımlılık yönetimi ve Python'a özgü tasarım prensipleri

Öğrenme Metodu

Kötü tasarlanmış örnek kod parça parça refactor edilir; her prensip önce ihlal edilerek sorun gösterilir, sonra çözüm uygulanır.

Neden Bu Eğitim?

🏛️Sağlam Temel

Kalıpların altında yatan prensipleri bilerek doğru tasarım kararı verirsiniz.

♻️Kolay Değişim

Yeni gereksinimde mevcut kodu bozmadan genişletirsiniz.

🔍Kod Kokusu

Tasarım sorunlarını erken fark edip refactor edersiniz.

Anahtar Konular

python design patternspython SOLIDpython tasarım prensiplerirefactoring pythonbağımlılık enjeksiyonutyping protocolclean code pythonkompozisyonpython nesne yönelimli tasarım
“İyi tasarım, değişimi kolaylaştıran ve gereksiz karmaşıklığı reddeden tasarımdır.”

Ön Koşullar

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

1
Python OOP

Sınıf, kalıtım ve özel metotlar bilinmelidir.

2
Python 3.10+

Güncel Python sürümü kurulu olmalıdır.

3
IDE

VS Code veya PyCharm kullanımı önerilir.

4
Git Temelleri

Refactor adımlarını izlemek için temel Git bilgisi 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ı ile beş SOLID ilkesini Python örnekleriyle uygular.
Modül 1
Single Responsibility
  • tek sorumluluk ve değişim nedeni
  • God class ayrıştırma örneği
  • rapor üretici sınıfını bölme
  • modül ve fonksiyon düzeyinde SRP
  • yüksek uyum ölçütü
  • dataclass ile veri-davranış ayrımı
Modül 2
Open/Closed
  • genişlemeye açık, değişime kapalı yapı
  • if-elif zincirini polimorfizme çevirme
  • strateji nesneleri ile ödeme yöntemleri
  • fonksiyonları birinci sınıf nesne olarak geçirme
  • eklenti kaydı (registry) yaklaşımı
  • __init_subclass__ ile otomatik kayıt
Modül 3
Liskov ve Interface Segregation
  • alt sınıfın üst sınıf sözleşmesini bozması
  • Square-Rectangle klasik ihlali
  • ön ve son koşul kuralları
  • geniş arayüzü küçük Protocol'lere bölme
  • typing.Protocol ile yapısal tipleme
  • duck typing ve abc farkı
Modül 4
Dependency Inversion
  • somuta değil soyuta bağımlılık
  • constructor injection
  • dış servis çağrısını arayüzle sarma
  • sahte nesne (fake) ile test kolaylığı
  • bağımlılık çözümleme kompozisyon kökü
  • basit DI konteyneri yazımı
Günün hedefiKatılımcı ile kalıtım yerine kompozisyonu, soyut sınıf ve protokolleri doğru kullanır.
Modül 1
Kalıtım Sorunları
  • kırılgan taban sınıf problemi
  • çoklu kalıtım ve MRO
  • mixin kullanımının sınırları
  • derin kalıtım hiyerarşisini düzleştirme
  • super() kullanım tuzakları
  • kalıtım mı kompozisyon mu karar listesi
Modül 2
Kompozisyon
  • has-a ilişkisi ve temsilci (delegation)
  • __getattr__ ile yönlendirme
  • davranışı parçalara ayırma
  • fonksiyon kompozisyonu
  • dependency taşıyan küçük nesneler
  • aggregate ve entity sınırları
Modül 3
Soyutlama Araçları
  • abc.ABC ve abstractmethod
  • typing.Protocol ve runtime_checkable
  • dataclass, frozen ve slots
  • enum ile durum modelleme
  • NamedTuple ve değişmezlik
  • property ile kapsülleme
Modül 4
Arayüz Sözleşmeleri
  • tip ipuçları ile sözleşme
  • mypy ile statik kontrol
  • docstring ve davranış sözleşmesi
  • assert ve hata türleri
  • public API ile iç ayrıntı sınırı
  • __all__ ve alt çizgi kuralları
Günün hedefiKatılımcı ile DRY, KISS, YAGNI ilkelerini ve refactoring tekniklerini uygular.
Modül 1
DRY, KISS, YAGNI
  • tekrarın gerçek maliyeti
  • yanlış soyutlama tehlikesi
  • erken genelleme ve YAGNI
  • Zen of Python ile tasarım kararı
  • basit çözümün tercihi
  • kopyala-yapıştır tespiti
Modül 2
Kod Kokuları
  • uzun metot ve uzun parametre listesi
  • feature envy
  • primitive obsession
  • shotgun surgery
  • global durum ve singleton kötüye kullanımı
  • radon ile karmaşıklık ölçümü
Modül 3
Refactoring Teknikleri
  • Extract Function / Extract Class
  • Replace Conditional with Polymorphism
  • Introduce Parameter Object
  • Replace Magic Number
  • küçük adımla, testle refactor
  • rope ve IDE refactor araçları
Modül 4
Testlenebilir Tasarım
  • saf fonksiyon ve yan etki ayrımı
  • bağımlılık enjeksiyonu ile test
  • pytest fixture ile ortam kurma
  • mock ve fake farkı
  • tasarımı test yazarak yönlendirme (TDD)
  • kapsama raporu okuma

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
SOLID Uygulama

Beş SOLID ilkesini Python kodunda uygulayabilirsiniz.

✅
Doğru Soyutlama

abc ve Protocol ile uygun sözleşmeler tanımlayabilirsiniz.

✅
Kompozisyon

Kalıtım yerine kompozisyonla esnek yapılar kurabilirsiniz.

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

Constructor injection ile gevşek bağlı bileşenler tasarlayabilirsiniz.

✅
Kod Kokusu Tespiti

Yaygın kod kokularını tanıyıp isimlendirebilirsiniz.

✅
Refactoring

Testle korunan küçük adımlarla kodu yeniden yapılandırabilirsiniz.

✅
Sade Tasarım

DRY ve YAGNI dengesini gözeterek aşırı mühendislikten kaçınabilirsiniz.

✅
Test Edilebilirlik

Bağımlılıkları ayırarak kolay test edilebilir kod yazabilirsiniz.

Kimler İçin Uygundur?

  • Python'da sınıf yazabilen
  • kod tabanını bakımı kolay hale getirmek isteyen geliştiriciler
  • takım liderleri

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Python'da sınıf yazabilen ve kod kalitesini artırmak isteyen geliştiriciler, takım liderleri ve kod gözden geçirenler için uygundur.
Tasarım kalıplarından önce mi alınmalı?
Evet, bu eğitim kalıpları anlamak için gereken prensip temelini kurar; ardından creational, structural ve behavioral eğitimleri izlenebilir.
Örnekler Python'a özgü mü?
Evet, Protocol, dataclass, duck typing ve birinci sınıf fonksiyonlar gibi Python'a özgü araçlar kullanılır.
Araç olarak ne kullanılır?
mypy, pytest, radon ve IDE refactor özellikleri kullanılır.
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. Python Design Patterns: Principles of Good Design 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
KonuPython
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Pythonİş Analizi ve Otomasyon için Python Eğitimi
Yazılım Geliştirme Eğitimleri

İş Analizi ve Otomasyon için Python Eğitimi

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

İş analizi ve otomasyon için Python eğitimi: pandas, PDF/Word/Excel işleme, web scraping, Playwright, API entegrasyonu, Streamlit ve zamanlanmış görevler.

Detayları Gör →
PythonMaster Class: Advanced Python (Associate Training) (PYTHON) Eğitimi
Yazılım Geliştirme Eğitimleri

Master Class: Advanced Python (Associate Training) (PYTHON) Eğitimi

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

Master Class Advanced Python eğitimi: metaclass, descriptor, asyncio, GIL, multiprocessing, Cython/numba, hexagonal mimari, Hypothesis ve profil çıkarma.

Detayları Gör →
PythonMühendisler ve Otomasyon Profesyonelleri İçin Python Eğitimi
Yazılım Geliştirme Eğitimleri

Mühendisler ve Otomasyon Profesyonelleri İçin Python Eğitimi

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

Mühendisler ve otomasyon profesyonelleri için Python: NumPy, SciPy, pyserial, Modbus, OPC UA, MQTT, pandas analizi, raporlama ve test otomasyonu.

Detayları Gör →
PythonNetwork Automation with Python Fast Track (PY202FT) Eğitimi
Yazılım Geliştirme Eğitimleri

Network Automation with Python Fast Track (PY202FT) Eğitimi

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

Python ile ağ otomasyonu hızlı kursu (PY202FT): Python temelleri, Netmiko, TextFSM, Jinja2, RESTCONF, NAPALM ve Ansible karşılaştırması.

Detayları Gör →
PythonNetwork Automation with Python Fundamentals Eğitimi
Yazılım Geliştirme Eğitimleri

Network Automation with Python Fundamentals Eğitimi

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

Python ile ağ otomasyonu temelleri eğitimi: SDN kavramları, Python, SSH/Netmiko, TextFSM, Jinja2, YAML ve basit yedekleme betikleriyle giriş.

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