Derya Dok Kişisel Blog

Tag: solid

SOLID Yazılım Prensipleri – Dependency Inversion Principle

SOLID yazı dizisinin sonuncusu olan Dependency Inversion yazısından merhabalar! Bu yazıda sıklıkla Dependency Injection (DI) ile karıştırılan Dependency Inversion (DIP) prensibini inceleyeceğiz. Temelde “soyutlamaya bağlı olma” felsefesine dayanan bu prensip, sınıflar arasındaki sıkı bağımlılıkları (tight coupling) kırmayı hedefler. Yüksek bağımlılık; kodun bir parçasını diğerlerinden izole edememek ve değişime karşı direnç gösteremeyen bir yapı kurmak demektir.

SOLID Yazılım Prensipleri – Interface Segregation Principle

Herkese merhaba, SOLID yazılarıma dördüncü eleman Interface Segregation Prensibi ile devam ediyorum. Interface Segregation Principle (ISP), ‘bir sınıf kullanmadığı metotlara bağımlı olmaya zorlanmamalıdır’ der. Özetle; tek bir genel amaçlı interface (arayüz) yerine, istemcinin sadece ihtiyacı olan metotlara ve özelliklere erişebileceği interface (arayüz)’lere bölünmesidir. Bu sayede kullandığımız yapıya esneklik, clean code ve low coupling (düşük bağımlılık) kazandırmış oluruz.

SOLID Yazılım Prensipleri – Open Closed Principle

Herkese merhaba. Bir önceki yazımda SOLID prensiplerinden ve Single Responsibility ilkesinden bahsetmiştim. Bu yazıda ise Open Closed ilkesini inceleyeceğiz. Bu ilke, uygulamanın mevcut kodlarını değiştirmeden sistemin özelliklerinin genişletilmesini önerir. Bu sayede yeni bir özellik eklendiğinde var olan kodda değişiklik yapılmadığı için bug oluşma riskini de azaltmış oluruz. Bu yazıdaki örneklere github repomdan erişim sağlayabilirsiniz.

SOLID Yazılım Prensipleri – Single Responsibility Principle

Herkese merhaba. Bu yazıda en temel yazılım geliştirme ilkesi olan SOLID’den bahsedeceğim. S.O.L.I.D aslında 5 temel ilkenin bir araya getirilerek kısaltılmış halidir. İlk olarak 2000 yılında Robert C. Martin tarafından “Design Principles and Design Pattern” makalesinde ortaya atılmıştır. Prensiplerin isim kısaltmasını ise Michael Feathers yapmıştır. Martin makalesinde başarılı bir yazılımın değişmesi ve gelişmesi gerektiğine değinmektedir. Ancak, yazılım değişip geliştikçe daha karmaşık bir hale gelir. Bu nedenle iyi tasarım ilkelerine sahip olmadan geliştirilen bir yazılım katı, kırılgan, hareketsiz ve zararlı bir hale dönüşür. Bu ilkeleri de sorunlu tasarım modelleriyle başa çıkmak için tasarlamıştır. SOLID yazılım ilkelerini kullanarak daha esnek ve geliştirmeye açık uygulamalar yazabiliriz. Bu yazıda kullandığım örnek kodlara buradaki github repomdan ulaşabilirsiniz.

Powered by WordPress & Theme by Anders Norén