diff --git a/Lerntagebuch.md b/Lerntagebuch.md index fa4ae3d..38d90fd 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -32,4 +32,30 @@ Ich finde die Atmosphäre in unserer Übungsklasse so unterstützend. Ich hoffe, -------------------------------------------------- +## 2. Vorlesung (31.10.2023) + +### Lernziel + +- Verschiedene Programmierparadigmen + ihre Vor- und Nachteile + Beispiel: + - Imperative P. + - Declarative P. + - Prozedurale P. + - Objektorientierte P. + - Funktionale P. + - typisierte Programmiersprachen + - typenlose Programmiersprachen +- Prinzipien der Programmierung: + - SOLID und STUPID (do’s & don’ts) + +### Erkenntnis + +Wir müssen SOLID programmieren und STUPID vermeiden. Unser Code sollte offen für Erweiterungen, aber geschlossen für Änderungen sein. (Open/Close-Prinzip) High-Level-Module sollten nichts von Low-Level-Modulen importieren. Sie sollten von Abstraktionen abhängen. (Dependency Inversion-Prinzip) Unser Hauptziel bei der Programmentwicklung sollte die Einfachheit sein und unnötige Komplexität sollte vermieden werden. (KISS-Prinzip) + +### Wiederholung + +In der objektorientierten Programmierung (OOP) gibt es ein Begriff "Kapselung". Die Kapselung wird verwendet, um die Werte, den Zustand von Datenobjekten oder Methoden innerhalb einer Klasse zu schützen. Wir verwenden die Kapselung, um den direkten Zugriff durch Clients zu verhindern. Mit der Kapselung garantieren wir die Sicherheit unseres Codes und schützen ihn vor Missbrauch oder unerwünschten Änderungen. + +Die deklarative Programmierung beschreibt, WAS das Programm tut, ohne den Kontrollablauf explizit zu beschreiben. Die imperative Programmierung hingegen beschreibt, WIE das Programm etwas tun sollte, indem sie jede Anweisung (oder Anweisung) Schritt für Schritt spezifiziert. + +--------------------------------------------------