1-Single Responsibility Principle (SRP)

Loading

Tek Sorumluluk İlkesi diyeceğimiz bu prensip te bir sınıfın değişmek için tek bir nedeni olmalıdır. Yani bir sınıfın veya fonksiyonun tek bir şey yapması gerekmektedir. İlerde olası bir değişiklik olduğunda tek bir nedene dayandırılması gerektiğini belirtir.

Diğer bir deyişle, bir class ‘a verilebilecek görev tekil olmalıdır. Örnek vermek gerekirse , bir sınıf, temel kayıt işlemlerinden (CRUD) sorumluyken aynı zamanda bir raporlama işlemini de yerine getirecek işlevleri yönetmemelidir.

Veya rapor almaktan sorumlu bir sınıf aynı zamanda bu raporları ilgili kişilere mail atabilecek yeteneğe sahip olmamalıdır. Kısaca her sınıf yada fonksiyonun , bir tek amaca hizmet edecek şekilde geliştirilmelidir. Yazılan kodlar yüksek uyum ve düşük bağlılık kuralına göre yazılmalıdır.

Örnek: Kötü bir dizayn örneği olarak console projesi açarafk bir okul bilgileri kaydedeceğim. Aşağıdaki gibi direkt alıp kaydediyorum.

Yukarda şimdilik işimizi hallettik ama gelişime kapalı bir yapı oladu. AddSchool Methodu eklemeyi yaptı ve loga yazdırmayıda yaptı. Halbuki doğru bir dizayn da yazdırma ve StringBuilder da ekleme de ayrılmalı idi. Bu Basit bir örnek ama ileri seviye bir örnekte yapılan her işlem ayrı methodlarda mümkünse generic yazılmalıdır..

Doğru dizayn kodlamasına bakalım.

Burada ISchool interface ile yapılacak her işlem için ayrı method yazıldı ve her methoda bir tane iş atandı. Böylelikle Yazma ve kaydetme işi farklı yerlerde yapılmış oldu. İlerisi için yazma işleri işle ilgiili yeni geliştirmeler olduğunda rahatlıkla 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