Prensipler

Interface Segregation Principle (Arayüz Ayrımı Prensibi)

Okuma Süresi: 3 dk

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 »

SoC (Separation Of Concerns)

Okuma Süresi: 3 dk

Endiş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 »

Inversion of Control (IoC)

Okuma Süresi: 3 dk

Yazı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 dk

Yazdığı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 »