Dependency Inversion Principle
DIP - Dependency Inversion Principle
5. DIP - Dependency Inversion Principle
Üst düzey modüllerin alt düzey modüllere bağımlılığını ortadan kaldırarak yeniden kullanımlarını sağlar.
Inversion ifadesinin anlattığı gibi, bağımlılık ters yöne yani alt düzeyden üst düzeye doğru değişmez. (Aslında bağımlılık ve kontrol frameworke, sisteme devredilir.) Her iki düzey de soyutlamalara bağımlı olur.
Abstractlar (arayüzler) implementasyonlardan ayrı paketlerde olursa, yeniden kullanımları daha kolay olur.
Tasarım kalıpları:
Strategy pattern (detaylar soyutlamalara bağımlı olmalıdır sorununu çözer.)
Inversion of Control
Dependency Injection
Service Locator
Oluşturma ya da Factory metotları
Template Method
Factory
Uygulamayı oluşturan üst düzey modüllerdir. Alt modüllerdeki değişiklikler bunları etkilememeli.
Yeniden kullanılabilecek modüller de bu üst düzey modüllerdir. Yani bu modülleri yeniden kullanılabilir yapmaya bak.
Çirkin bölümleri izole et. Detaylarla başkaları uğraşsın. (Alt düzeyler)
Kötü tasarım özellikleri:
katı - rigid (birçok yer aynı anda değişiyor)
kırılgan – fragile (bozulabilir, hataya açık)
hareket edemez - immobile (yeniden kullanılabilirlik yok)
Last updated
Was this helpful?