Arayüz ayrımı ilkesi

Arayüz Ayrım Prensibi (İngilizce: Interface Segregation Principle, ISP), nesne yönelimli programlamada kullanılan SOLID tasarım prensiplerinden biridir. Bu prensip, istemcilerin kullanmadıkları arayüz metodlarına bağımlı olmaması gerektiğini savunur. Büyük ve monolitik arayüzlerin, küçük ve özelleştirilmiş arayüzlere bölünmesini önerir.

Tarihçe

Arayüz Ayrım Prensibi, Robert C. Martin tarafından 2000'lerin başında SOLID prensipleri kapsamında tanımlanmıştır. Martin, 2002'de yayınlanan Agile Software Development, Principles, Patterns, and Practices kitabında bu prensibi, "istemcilerin kullanmadıkları arayüzlere bağımlı olmaması gerektiği" şeklinde formüle etmiştir. Prensip, özellikle büyük sistemlerde kodun esnekliğini ve bakımını iyileştirmeyi amaçlar.

Temel İlkeler

Uygulama Örneği

// Tüm metodları içeren monolitik bir arayüz -java
interface ÇokAmaçlıAlet {
    void yazdır();
    void tarayıcıAç();
    void faksGönder();
}

// Sadece yazdırma özelliği gereken bir istemci
class Yazıcı implements ÇokAmaçlıAlet {
    public void yazdır() { /* ... */ }
    public void tarayıcıAç() { throw new UnsupportedOperationException(); } // Gereksiz!
    public void faksGönder() { throw new UnsupportedOperationException(); } // Gereksiz!
}
interface Yazdırılabilir {
    void yazdır();
}

interface Taranabilir {
    void tarayıcıAç();
}

interface FaksGönderilebilir {
    void faksGönder();
}

class Yazıcı implements Yazdırılabilir {
    public void yazdır() { /* ... */ }
}

Etkileri

Ayrıca Bakınız

Kaynakça

  1. 1 2 Martin, Robert C. (2002). Agile Software Development, Principles, Patterns, and Practices. Prentice Hall. ss. 121-126. ISBN 978-0135974445.
  2. ↑ "SOLID Principles in Programming: Understand With Real Life Examples". GeeksforGeeks. 13 Mayıs 2025 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Mayıs 2025.