Open-Closed Principle
Yazılım bileşenleri (sınıflar, modüller, fonksiyonlar, vb.) genişletilmeye açık ancak değiştirilmeye kapalı olmalıdır.
2. OCP - Open-Closed Principle
Yazılım bileşenleri (sınıflar, modüller, fonksiyonlar, vb.) genişletilmeye açık ancak değiştirilmeye kapalı olmalıdır.
Open for extension, closed for modification
Amaç, bir bileşenin kodunu değiştirmeden davranışını değiştirmek.
Şablon: {Sınıf} {aksiyon / davranış} ile {görev}inden sorumludur.
Tasarım kalıpları:
Template Method
Strategy
Refactoring yöntemleri
Extract Interface
Parameterize Method
Form Template Method
Bir sınıfın implementasyonu sadece hata düzeltme amacıyla değiştirilir, yeni veya değişen özellikler için yeni sınıflar yaratılır.
Değişen bölümleri temel sınıftan ayır.
Türetme sıkı-eşleştirmeye (hard-coupling) neden olduğundan, mümkünse delege et.
private method → protected virtual (open-closed uygunluğu sağlar) (Javada tüm metotlar varsayılan olarak virtual’dır.)
Last updated
Was this helpful?