

Projelerimizde interface güdümlü çalışmamız bize ne katar? Artıları nelerdir? Konuyu biraz açar mısınız?
soruldu: 26 Nis '12, 14:08
nerminson


Interface güdümlü çalışmaktan kastınız sanırım nesne yönelimli yazılımda soyutluk ve soyutlaştırma kuralları.
Ben böyle anladığım için sorunuza bu konu ile ilgili cevap vereceğim:
Projeyi abstract sınıf ya da interface'lerle soyutlaştırmak, birçok tasarım şablonu tanımında da anlatıldığı gibi yazılım geliştirme prensiblerini uygulayabilmek adına önemlidir. Özellikle Dependency Inversion Principle'ı(Bağımlılıkları Tersine Çevirme Prensibi) bu konunun temel prensibi olarak tanımlayabiliriz.
DIP(Dependency Inversion Principle)'te belirtildiği gibi somut ve esnek olmayan bağlar kurmak yerine, soyut ve esnek olan bağlantılar kurmak esastır. Bu şekilde değişime kapalı gelişime açık sistemler kurulması kolaylaşır. Bu konunun önemini büyük bir projede çalıştığınızda, ya da yazdığınız küçük proje büyümeye başladığında aynı class'a sürekli olarak gidip birşeyler değiştirdiğiniz ve buna bağlı tüm class'ların etkilendiğini, hepsine gidip tek tek değişiklik yapmanız gerektiğinde en iyi anlayabilirsiniz.
Ayrıca diğer SOLID prensipleri de bu konuyla alakalıdır. İncelemenizi tavsiye ederim.


Projede daha anlaşılabilir bir yapı oluşur. Proje standartları oluşur. Developer sayısı fazla projelerde herkes bu standartlar dahilinde çalışır. Güvenlik avantajı olur. Herkes heryeri göremez. şimdilik aklıma gelenler bunlar.
cevaplandı: 27 Nis '12, 02:25
kam