Nesne Tabanlı Tasarım Usulleri

Merhabalar Dostlar,

Bugünkü yazımda sizlere Nesne Tabanlı Programlanın bir seviye üstünde bilgilere sahip olacağınız bir konudan bahsedeceğim. Hazırsanız haydi başlayalım 🙂


Nesneye Dayalı Tabanlı Tasarım prensipleri, nesneye yönelik programlamanın özünü oluşturan ve kötü bir tasarıma sahip olmamamıza yardımcı olan bir dizi yönergeyi temsil etmektedir. Yazılımcıların çoğu, zamanlarının çoğunu; abstractionencapsulationpolymorphisminheritanceve design patternda harcamaktadır. Nesne odaklı tasarım prensiplerini de bilmek, temiz ve modüler tasarım oluşturmada önemlidir.

Robert Martin‘e göre, nesneye dayalı tasarım kullanılmadan geliştirilen yazılımlarda 3 tip özelliğe sahiptir. 

Bunlar;

  • Rigidity: Bu özellikte olan yazılımların değişimi zordur çünkü herhangi bir değişiklik sistemin çoğunluğunu etkiler.
  • Fragility: Bu özellikte olan yazılımların üzerinde değişliklikler yapıldığında, sistemin beklenmeyen kısımlarıda etkilenebilir.
  • Immotility: Bu özellikte olan yazılımların bileşenleri başka uygulamalarda tekrardan kullanmak oldukça zordur çünkü geçerli uygulamadan ayrıştırılamazlar.

Değişiklikler ve yenilikler kuşkusuz yazılım dünyasının vazgeçilmez bir parçasıdır. Yazılım tasarımındaki bozulmaların sebebi sadece değişim değildir. Başarısızlıkla sonuçlamasının en büyük nedenlerinden biri “planlanmamış bağımlılıkların” sisteme girmesidir. Yazılım sisteminin her bölümü başka bir modüle bağlıdır. Bundan dolayı bir parçadaki değişim diğer alanlarıda etkiler. Yazılım sistemlerinin tasarımları sırasında rigidityfragilityimmotilitygibi etmenleri yönetebilmek ve bu etmenlere karşı dayanaklı sistemler oluşturabilmek için bir takım prensipler takip edilmelidir.


Aşağıdaki usulleri ilerleyen yazılarda yazmaya devam edeceğim. Yazılan usulleri aşağıdaki linklerden inceleyebilirsiniz :

Evet Arkadaşlar Nesne Tabanlı Tasarım Usullerine bir giriş yaptık. İlerleyen yazılarda prensipleri öğrenmeye başlayacağız. Bol kodlu günler dilerim 😉

Not : Bu blog yazısı Yahya Şirin‘in ders notlarından yararlanılarak yazılmıştır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir