1.1 KiB
1.1 KiB
Design Principles
SOLID Design Principles
- Fokus auf der Erstellung von Code
- Wartbar, Robust, Wiederverwendbar
S - Single Responsibility Principle (SRP)
- Eine Klasse sollte nur eine einzige Aufgabe / Verantwortung haben
O - Open/Closed Principle (OCP)
- Software Komponenten sollten nur fpr Erweiterung, nicht für Modifikation offen sein
L - Liskov's Substitution Principle (LSP)
- Basisklassen müssen komplett passend für die erbenden Klassen sein
I - Interface Segregation Principle (ISP)
- Clients sollten nicht dazu verpflichtet werden unnötige Methoden zu implementieren
D - Dependency Inversion Principle (DIP)
- Abhängig von Abstraktion, nicht Konkretion
Favor Composition over Inheritance
- Vererbung ist ein offensichtlicher Weg um Code von der Basisklasse wiederzuverwenden
- Unterklassen können die Codebasis der Basisklassen nicht verkleinern
- Methoden des Interfaces müssen alle implementiert werden