CleanCode: Unterschied zwischen den Versionen
Aus Das Sopra Wiki
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 50: | Zeile 50: | ||
[http://lostechies.com/gabrielschenker/2009/01/30/the-dependency-inversion-principle/ → mehr dazu] | [http://lostechies.com/gabrielschenker/2009/01/30/the-dependency-inversion-principle/ → mehr dazu] | ||
===== Liskov Substitution Principle (LSP) ===== | ===== [http://www.clean-code-developer.de/Gelber-Grad.ashx#Liskov_Substitution_Principle_2 Liskov Substitution Principle (LSP)] ===== | ||
Subtypen müssen sich so verhalten wie | Subtypen müssen sich so verhalten wie ihr Basistyp. Z.B. darf eine Methode, die im Basistyp keine Exception wirft, auch im Subtyp keine Exception werfen. | ||
===== Information Hiding Principle ===== | Allgemeiner: Ein Subtyp darf die Funktionalität eines Basistyps lediglich erweitern, aber nicht einschänken. | ||
[http://www.oodesign.com/liskov-s-substitution-principle.html → mehr dazu] | |||
===== [http://www.clean-code-developer.de/Gelber-Grad.ashx#Information_Hiding_Principle_4 Information Hiding Principle] ===== | |||
Eine Klasse sollte nur die für die Schnittstelle notwendigen Methoden und Felder öffentlich zur Verfügung stellen. Durch das Verbergen der Implementierungsdetails wird die Benutzung der Klasse von ihrer Implementierung unabhängig gemacht. | Eine Klasse sollte nur die für die Schnittstelle notwendigen Methoden und Felder öffentlich zur Verfügung stellen. Durch das Verbergen der Implementierungsdetails wird die Benutzung der Klasse von ihrer Implementierung unabhängig gemacht. | ||
[http://information-hiding.co.tv/ → mehr dazu] | |||
===== Principle of Least Astonishment ===== | ===== Principle of Least Astonishment ===== | ||
