Arayüz Ayrımı Prensibinin odak noktası; eğer bir sınıf implement ettiği interface’e ait tüm nesneleri kullanmıyor ya da o interface ilgili sınıf için eksik kalıyor ise ortak metodları içeren bir arayüz oluşturup, farklılaştığı noktalar için ise yeni arayüzler oluşturulmalı ve artık bu yeni interface kullanılmalıdır.
Devamını oku »Prensipler
Separation Of Concerns (SoC)
Okuma Süresi: 3 dkEndişelerin Ayrılması (Separation of Concerns) tasarım ilkesi düşük bağlılığa ve benzer sorumluluklara (cohesion) sahip bileşenler ile kümeler/kapsüller oluşturmamıza, sorumluluk sınırlarının net bir şekilde belirlenerek ayrılmasına odaklanır. SoC ile sürdürülebilir, geliştirilebilir ve tekrar kullanılabilir bilşenlerimiz ve bu bileşenler sayesinde projeler olur.
Devamını oku »Liskov Substitution Principle (Liskov’un Yerine Geçme Prensibi)
Okuma Süresi: 4 dkBu prensibin odak noktası; alt seviyedeki nesnelerin, üst seviyedeki nesneler ile yer değiştirebilir olmasını garanti etmek ve mümkün kılmaktır. Alt seviye bir nesne, üst seviyesi nesne ile aynı şekilde davranmalıdır ki bu sayede yer değişmeleri halinde her şeyin aynı şekilde çalışabilmesi sağlanabilsin.
Devamını oku »Inversion of Control (IoC)
Okuma Süresi: 3 dkYazılım çerçevelerinin (framework) gelen isteği karşılarken bizim kodlarımızı çalıştırıp sonrasında tekrar kontrolü ele almasıdır. Bir web uygulamasından örnek verecek olursak; HTTP isteğinin karşılanması esnasında routing, middleware gibi işlevler yazılım çerçeveleri (framework) tarafında yapılır ve istek günün sonunda bir middleware/controller seviyesine düşer. Ardından bizim kodlarımız çalıştırır ve gerekiyorsa oluşturduğumuz çıktıyı alıp yoluna devam eder. Yani ana...
Devamını oku »Open/Closed Principle (Açık/Kapalı Prensibi)
Okuma Süresi: 2 dkYazdığımız kod gelişime açık fakat değişime kapalı olmalıdır. Örneğin yazdığımız bir sınıf içerisindeki metodların gövdesi mümkün mertebe değişmemelidir. Yine sınıf örneğinden devam edecek olursak; yeni bir özellik kolayca eklenebilmelidir. Mevcut kod yeniliklere açık, yani bloklayıcı durumda olmamalıdır. Yeni kod ekleyebilmek için mevcut kodda değişikliğe ihtiyaç duyulmamalıdır.
Devamını oku »