Dies ist eine alte Version des Dokuments!
LU16b - Prinzipien 3 (OCP, Law of Demeter)
Wir betrachten dieses Mal die Prinzipien OCP und das Law of Demeter.
Prinzipien
- DRY (Don’t Repeat Yourself)
- SRP (Single Responsibility Principle)
- OCP (Open/Closed Principle)
- LSP (Liskov Substitution Principle)
- ISP (Interface Segregation Principle)
- DIP (Dependency Inversion Principle)
- KISS (Keep It Simple, Stupid)
- YAGNI (You Ain’t Gonna Need It)
- SoC (Separation of Concerns)
- Law of Demeter (Principle of Least Knowledge)
P.S.: SOLID steht für SRP, OCP, LSP, ISP, DIP
OCP
Das Open/Closed Principle besagt, dass ein Programm, zwar offen sein soll für (sinnvolle) Weiterentwicklung, aber geschlossen für Änderungen (Manipulationen).
Als Faustregel kann man Klassen tendenziell schliessen, während Interfaces geöffnet werden. Der Modifier public sollte bei Klassen also sparsam eingesetzt werden, während final bei vielen Implementierungsklassen in Frage kommt.
Der Modifier protected bei Klassenattributen ist oft ein Indiz für eine Offenheit gegenüber Änderungen via Vererbung. Sie sollten daher immer kritisch hinterfragt werden.
Law of Demeter
Das Law of Demeter
get().get();