diff --git a/oo_design.md b/oo_design.md index c20dbbf..26743eb 100644 --- a/oo_design.md +++ b/oo_design.md @@ -12,7 +12,7 @@ footer: Henri Burau # Grundlagen -Software verändert sich regelmäßig. Diese Änderungen sollten sich so einfach wie möglich umsetzen lassen. Dabei hilft ein guter Objektorientierter Entwurf. +Software verändert sich regelmäßig. Diese Änderungen sollten sich so einfach wie möglich umsetzen lassen. Dabei hilft ein guter Objektorientierter Entwurf. --- @@ -78,7 +78,16 @@ Beinhaltet eine Klasse plötzlich 90% des Quelltextes dann ist das ein Anti-Patt # SOLID * SRP: Single Responsibility Principle + * Hohe Kohäsion * OCP: Open Closed Principle + * Open for Extension/Closed for Modification -> Vertrauen in Code steigt * LSP: Liskov Substitution Principle + * Eine Subklasse soll immer Ersatz für ihre Superklasse sein * ISP: Interface Segregation Principle + * Ein Klient sollte nicht gezwungen sein von Methoden abzuhänge, die er nicht benutzt * DIP: Dependency Inversion Principle + * Reduzierte Kopplung: Man sollte niemals von etwas konkreten abhängen sondern immer von Interfaces + +--- + +# Kein Code < Schlechter Code