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's gravatar image

nerminson
5214915
cevap kabul oranı: 3%


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.

permanent link

cevaplandı: 29 Haz '12, 03:34

mabulgu's gravatar image

mabulgu ♦
2.8k43040
cevap kabul oranı: 26%

değiştirildi: 29 Haz '12, 03:52

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.

permanent link

cevaplandı: 27 Nis '12, 02:25

kam's gravatar image

kam
1.3k82032
cevap kabul oranı: 16%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×25
×11

Soruldu: 26 Nis '12, 14:08

Görüntüleme: 1,019 kez

Son güncelleme: 29 Haz '12, 03:52

powered by BitNami OSQA