Özet - Tasarım desenleri
- Python kursu
- İleri seviye
- Ders 66/83
- 5 dk
Singleton, Factory ve Strategy'i birleştirerek bir ödeme sistemi yazarsın.
Özet - Tasarım desenleri
Bu grupta beş temel tasarım desenini öğrendin. Singleton tek örnek, Factory sınıf seçimi, Strategy çağrılabilir algoritma, Observer abonelik bildirimi, Decorator sarmalayıcı genişletme sağlar.
# Singleton + Factory + Strategy birleşimi
reg = Config() # Singleton
strategy = payment_factory("credit") # Factory
print(strategy(100)) # Strategy çağrılırSon adımda üç deseni birleştirerek bir ödeme sistemi yazacaksın.
Uygulama Ödeme sistemi
class Config: tanımla (Singleton deseni): _instance = None özniteliği ekle, def __new__(cls): metodu if cls._instance is None: cls._instance = super().__new__(cls) ve return cls._instance yapsın. def credit_pay(amount): işlevi return f"kredi: {amount}" yapsın. def debit_pay(amount): işlevi return f"banka: {amount}" yapsın. def payment_factory(name): işlevi if name == "credit": return credit_pay, if name == "debit": return debit_pay yapsın. cfg = Config() ile örnek al. strategy = payment_factory("credit") ile strateji seç. print(strategy(100)) ile ödemeyi yazdır.
Başlangıç kodu
# Config sınıfını tanımla (Singleton: _instance, __new__)
# credit_pay ve debit_pay işlevlerini tanımla (Strategy)
# payment_factory işlevini yaz (Factory: isimden strateji döndür)
# Config örneği al, 'credit' stratejisini seç ve ödemeyi yazdırÖrnek çözüm
class Config:
_instance = None
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instance
def credit_pay(amount):
return f"kredi: {amount}"
def debit_pay(amount):
return f"banka: {amount}"
def payment_factory(name):
if name == "credit":
return credit_pay
if name == "debit":
return debit_pay
cfg = Config()
strategy = payment_factory("credit")
print(strategy(100))Beklenen çıktı
kredi: 100
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Hangisi tek örnek garanti eder?
- Factory
- Singleton Doğru cevap
- Strategy
- Observer
Açıklama: Singleton, bir sınıftan tek örnek oluşturulmasını sağlar.
2 Grup araçlarını eşleştir
| Kavram | Anlamı |
|---|---|
Singleton |
Tek örnek |
Factory |
Sınıf seçimi |
Strategy |
Çağrılabilir algoritma |
Observer |
Abonelik bildirimi |