From 4781315626041d6c0ed3abc39bd0155c93e404bb Mon Sep 17 00:00:00 2001 From: fdai7715 Date: Mon, 6 Nov 2023 17:02:51 +0000 Subject: [PATCH] =?UTF-8?q?einige=20Programmierprinzipien=20hinzugef=C3=BC?= =?UTF-8?q?gt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Programmierparadigmen.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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 +-