Nesneye Dayalı Programlama -2- YP ile arasındaki farklar


Merhabalar Arkadaşlar,

Bu yazımızda NDP ile Yordamsal programlama arasındaki farklardan bahsedeceğiz.

Biyolojideki "tür" ve "sınıf " farkını ortaya koyan yapı aslında NDP'nin de temelini oluşturmaktadır. Yordamsal programlama tür kavramıyla ilgilenirken, NDP sınıf kavramıyla ilgilenmektedir. dolayısıyla YP her bir varlığı ayrı ayrı tüm özelliklerine kadar tanımlamak zorundadır.
Oysaki NDP'de durum daha basittir.
Öncelikle varlıkların ortak özelliklerini tanımla, gerekli olduğu kadar bu tanımdan yeni türler oluştur.
Bu mantık günümüz yazılım dünyasının vazgeçilmez anlayışı durumundadır.

Özellikle veri ve veriler üzerindeki operasyonların birbirinden alınmış olması, tek bir veri (sınıf) ile temsil edilebilmesi harika bir fikir gibi gözükmesine rağmen, bazı dezavantajları da beraberinde getirmiştir.
Bunların en göze çarpanı ise yazılım geliştirme sürecine hemen başlanamaması gösterilebilir.
Öncelikle gerekli olan alt yapılar(sınıflar) oluşturulmalı, bunlar arasında ki ilişkiler gösterilmeli, daha sonra ise geliştirme süreci başlayabilecektir.

Aşağıdaki kod sayısı şeklini inceleyecek olursak;
NDP'de belirsiz bir sayıda koda ulaşırken hala projede herhangi bir tamamlanma oranı oluşmamaktadır. Ancak projelerin ilerleyen kısımlarında bu dezavantaj ortadan kalkmakta kod sayısındaki artış oranı oldukça azalmaktadır.

Aşağıdaki kod karmaşıklığı şeklini inceleyecek olursak;
Benzer şekilde kod karmaşıklığı NDP de sabit ilerlerken YP'de bu oran projenin tamamlanmasına kadar artmaktadır. Tüm bunlarla beraber bakım maliyetleri (zaman ve emek) açısından da incelersek NDP'nin getirmiş olduğu avantajlar başta belirtmiş olduğumuz dezavantajı ortadan kaldırmaktadır.

İyi çalışmalar dilerim...