Arayüz ayrımı ilkesi - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

İçindekiler

  • Giriş
  • 1 Tarihçe
  • 2 Temel İlkeler
  • 3 Uygulama Örneği
  • 4 Etkileri
  • 5 Ayrıca Bakınız
  • 6 Kaynakça

Arayüz ayrımı ilkesi

  • Català
  • Deutsch
  • English
  • Español
  • فارسی
  • Français
  • Magyar
  • İtaliano
  • 日本語
  • 한국어
  • Português
  • Русский
  • Українська
  • 中文
Bağlantıları değiştir
  • Madde
  • Tartışma
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Bu sayfayı kaynak göster
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi
(ISP sayfasından yönlendirildi)
SOLID
  • Tek sorumluluk ilkesi
  • Açıklık-kapalılık ilkesi
  • Liskov'un yerine geçme ilkesi
  • Arayüz ayrımı ilkesi
  • Bağımlılığın tersine çevrilmesi ilkesi
  • g
  • t
  • d

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.[1]

Tarihçe

[değiştir | kaynağı değiştir]

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.[1] Prensip, özellikle büyük sistemlerde kodun esnekliğini ve bakımını iyileştirmeyi amaçlar.

Temel İlkeler

[değiştir | kaynağı değiştir]
  • Arayüzler İstemci İhtiyaçlarına Göre Parçalanmalıdır: Bir arayüz, tüm istemcilerin ihtiyaç duyduğu metodları içermemeli; her istemci grubu için özelleştirilmiş arayüzler tasarlanmalıdır.
  • Gereksiz Bağımlılıklar Önlenmelidir: İstemciler, kullanmadıkları metodları implemente etmeye zorlanmamalıdır. Bu, Liskov'un yerine geçme ilkesi ile de uyumludur.
  • Karmaşıklık Azaltılmalıdır: Küçük arayüzler, kodun daha anlaşılır ve test edilebilir olmasını sağlar.

Uygulama Örneği

[değiştir | kaynağı değiştir]
  • ISP Uyumsuz veya Hatalı Tasarım
// 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!
}
  • ISP Uyumlu Tasarım
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

[değiştir | kaynağı değiştir]
  • Bakım Kolaylığı: Arayüzlerde yapılan değişiklikler sadece ilgili istemcileri etkiler.
  • Esneklik: Yeni özellikler eklemek veya mevcutları değiştirmek daha az risklidir.
  • Test Edilebilirlik: Küçük arayüzler, birim testlerini basitleştirir.[2]

Ayrıca Bakınız

[değiştir | kaynağı değiştir]
  • SOLID
  • Tek sorumluluk ilkesi
  • Bağımlılığın tersine çevrilmesi ilkesi

Kaynakça

[değiştir | kaynağı değiştir]
  1. ^ a b 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. 
  • g
  • t
  • d
Yazılım mühendisliği
Alanlar
Gereksinim çözümlemesi • Yazılım tasarımı • Programlama • Biçimsel yöntemler • Yazılım testi • Yazılım sistemleri • Yazılım dağıtımı • Yazılım bakımı
Kavramlar
Veri modelleme • Kurumsal mimari • Functional specification • Modelleme dili • Programlama paradigması • Yazılım • Yazılım mimarisi • Yazılım geliştirme yöntembilimi • Yazılım geliştirme süreci • Yazılımın niteliği • Yazılım kalite güvencesi • Yapısal analiz
Yönelimler
Atik • Aspect-oriented • Nesne yönelimli • Ontoloji • Servis odaklı • SDLC
Modeller
Geliştirme modelleri: Atik • Yinelemeli model • RUP • Scrum • Spiral model • Waterfall model • XP • V-Model
Diğer modeller: CMMI • Veri modeli • İşlev modeli • IDEF • Bilgi modeli • Metamodeling • Nesne modeli • Görünüm modeli • UML
Yazılım
mühendisleri
Victor Basili • Dennis Ritchie • Kent Beck • Peter Chen • Grady Booch • Fred Brooks • Barry Boehm • Bjarne Stroustrup • Ward Cunningham • Ole-Johan Dahl • Tom DeMarco • Edsger Dijkstra • Martin Fowler • C. A. R. Hoare • Watts Humphrey • Michael A. Jackson • Ivar Jacobson • Craig Larman • James Martin • Bertrand Meyer • David Parnas • Winston W. Royce • James Rumbaugh • Danese Cooper • Niklaus Wirth • Edward Yourdon
İlgili alanlar
Bilgisayar bilimi • Bilgisayar mühendisliği • İşletme mühendisliği • Geçmiş • Matematik • Proje yönetimi • Risk yönetimi • Sistem mühendisliği
"https://tr.wikipedia.org/w/index.php?title=Arayüz_ayrımı_ilkesi&oldid=35385736" sayfasından alınmıştır
Kategoriler:
  • Nesne yönelimli programlama
  • Yazılım mühendisliği
  • SOLID ilkeleri
  • Sayfa en son 00.09, 23 Mayıs 2025 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
Arayüz ayrımı ilkesi
Konu ekle