www.wikidata.de-de.nina.az
Das Interface Segregation Prinzip oder Schnittstellenaufteilungsprinzip ist ein Begriff aus der Informatik Es handelt sich um ein Prinzip des objektorientierten Entwurfs Demnach sollen zu grosse Schnittstellen in mehrere Schnittstellen aufgeteilt werden falls implementierende Klassen unnotige Methoden haben mussen Nach erfolgreicher Anwendung dieses Entwurfprinzips musste ein Modul das eine Schnittstelle benutzt nur diejenigen Methoden implementieren die es auch wirklich braucht Inhaltsverzeichnis 1 Zweck 1 1 Beispiele 1 1 1 C 1 1 1 1 Anwendung 1 1 2 Java 1 1 2 1 Anwendung 2 EinzelnachweiseZweck BearbeitenDurch dieses Prinzip ist es moglich die von Bertrand Meyer geforderten schlanken Schnittstellen zu realisieren was eine verbesserte Wartbarkeit mit sich bringt da Klassen nur noch die Methoden implementieren die sie benotigen Somit wird der Code kompakt und ist besser wiederverwertbar Auch eine verbesserte Uberprufbarkeit ist gegeben 1 Beispiele Bearbeiten C Bearbeiten public interface IPerson int Id get string FirstName get string LastName get Andere Eigenschaften public interface ILoad void Load string path public interface ISave void Save string path public interface IToXmlString string ToXmlString public class Person IPerson ILoad ISave IToXmlString public int Id get set public string FirstName get set public string LastName get set Andere Eigenschaften public void Load string path Lesen der Daten aus der Datei public void Save string path Speichern der Daten in die Datei public string ToXmlString Zuruckliefern der Daten als XML Zeichenkette string xmlString return xmlString Anwendung Bearbeiten Irgendwo in eine andere Klassen Code Datei IPerson person GetPersonById 123 Die Daten der Person Eigenschaften sollen aus einer Datei geladen werden person as ILoad Load C dir1 file1 ext Spater soll die Daten der Person in einer Datei gespeichert werden person as ISave Save C dir2 file2 ext Etwas weiter im Code soll person als XML string bearbeitet werden string xml person as IToXmlString ToXmlString Java Bearbeiten interface IPerson int getId void setId int id String getFirstName void setFirstName String firstName String getLastName void setLastName String lastName Andere Eigenschaften interface ILoad void load String path interface ISave void save String path interface IToXmlString String toXmlString class Person implements IPerson ILoad ISave IToXmlString private int id private String firstName private String lastName Andere Eigenschafts Variablen Override public int getId return id Override public void setId int id this id id Override public String getFirstName return firstName Override public void setFirstName String firstName this firstName firstName Override public String getLastName return lastName Override public void setLastName String lastName this lastName lastName Andere Eigenschaften Override public void load String path Lesen der Daten aus der Datei Override public void save String path Speichern der Daten in die Datei Override public String toXmlString Zuruckliefern der Daten als XML Zeichenkette String xmlString return xmlString Anwendung Bearbeiten Irgendwo in eine andere Klassen Code Datei IPerson person getPersonById 123 Die Daten der Person Eigenschaften sollen aus einer Datei geladen werden ILoad person load C dir1 file1 ext Spater soll die Daten der Person in einer Datei gespeichert werden ISave person save C dir2 file2 ext Etwas weiter im Code soll person als XML string bearbeitet werden String xml IToXmlString person toXmlString Einzelnachweise Bearbeiten Wolfgang Kowarschick Programmierprinzipien Interface Segregation Prinzip Interface segregation principle GlossarWiki der Hochschule Augsburg HSA 23 Februar 2012 archiviert vom Original am 23 Februar 2012 abgerufen am 26 Juni 2012 VPrinzipien objektorientierten DesignsSOLID Prinzipien Single Responsibility Open Closed Liskovsches Substitutionsprinzip Interface Segregation Dependency InversionWeitere Prinzipien Gesetz von Demeter Design by Contract Datenkapselung Linguistic Modular Units Self Documentation Uniform Access Single Choice Persistence Closure Command Query SeparationPackaging Prinzipien Reuse Release Equivalence Common Closure Common Reuse Acyclic Dependencies Stable Dependencies Stable Abstractions Abgerufen von https de wikipedia org w index php title Interface Segregation Prinzip amp oldid 217358769