diff --git a/Programmierparadigmen.md b/Programmierparadigmen.md index 2279674..511591e 100644 --- a/Programmierparadigmen.md +++ b/Programmierparadigmen.md @@ -64,3 +64,20 @@ Außerdem werde ich die Programmierprinzipien KISS, FCoH, SLA, YAGNI, IOC und DI ### TypeScript - imperativ, prozedural, objektorientiert, typisiert - Erweiterung von JavaScript, zusätzlich Typisierung und Objektorientierung + +## Programmierprinzipien +### KISS +- kurz für Keep It Simple (and) Stupid +- einfacher Code sollte das Ziel sein, um Verständlichkeit zu erhöhen +- dazu kann es hilfreich sein, sich die Anforderungen zu vergegenwärtigen + +### FCoH +- kurz für Favor Composition over Inheritance (Komposition an Stelle von Vererbung) +- man sollte Klassen eher in eine Teil-Ganzes-Beziehung als in einer Oberklasse-Unterklasse Beziehung darstellen +- findet Anwendung, um Klassen stärker zu entkoppeln und dynamischer zu gestalten +- dabei können Klassen bspw. Methoden aufrufen, die Methoden in dynamischen Klassenobjekten ausfrufen können statt die Methoden einer Elternklasse + +### SLA +- kurz für Single Layer of Abstraction +- bedeutet, dass in jedem Codeabschnitt auf dem gleichen Abstraktionslevel gearbeitet werden soll +-