2-Open/Closed Principle (OCP)

Loading

Gelişlemelere açık, değişimlere kapalı bir tasarım kullanılması gerektiğini belirtir. Diğer bir deyişle var olan uygulama üzerine sürekli yeni modüller ve işlevler ekleyebilmelisiniz. Fakat bunu yaparken var olan kodlar üzerinde bir değişiklik yapmamalısınız. Geliştirme yaparken de olan değişikliklerin geriye dönük olarak uyumlu olması önemlidir.

Bir örnek ile bakalım

Burada içecek fiyatları Tek bir method ile yapılırken ürünler de başka işlemelr yapıldığında burası karışacaktır. Yani gelişime kapalı bir yapıdadır.

Şİmdi doğru bir dizayn ile bunları ayuıracağız.

Burada görüldüğü gibi bir abstract (sanal) class tanımlayarak Hesaplama işini burada yaptım. Sonra ürünlerimi ayırarak her ürüne ait işleri ona özel class’ında yaptım. Bu şekilde o ürün ile alkalı başka işler istendiğinde rahatlıkla geliştirme yapılacaktır.

Kaynak kodlarına adresten ulaşabilirsiniz.

Sağlıcakla kalın…

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Mesut Yiğit

Kaliteli bilgilerin bulunduğu, paylaşımcı ve her daim geliştirici bir öğrenimin benimsendiği Teknik ve diğer konularda kendime ve geleceğe notlar