From ae9e2673b8b53bebaf6515ece4420a596440d49e Mon Sep 17 00:00:00 2001 From: fdai7968 Date: Fri, 10 Nov 2023 19:16:19 +0000 Subject: [PATCH] Update Lerntagebuch --- Lerntagebuch.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 0fd6337..d2e9944 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -31,3 +31,27 @@ Durch die Prinzipien, die wir gelernt haben, können wir dann später bei der Pr ### Wiederholung Die Existenz verschiedener Programmiersprachen resultiert aus der Notwendigkeit, unterschiedliche Anforderungen und Aufgaben in der Softwareentwicklung zu adressieren. Programmiersprachen sind entworfen, um spezifische Problemstellungen effizient zu lösen, sei es durch hardwarenahe Steuerung, schnelle Prototypenerstellung oder abstrakte Problemlösungen. Die Vielfalt reflektiert die Diversität von Anwendungsdomänen und ermöglicht Entwicklern die Auswahl der am besten geeigneten Sprache für eine gegebene Aufgabe. + + +## Vorlesung am 7.11.2023 + +### Lernziele +- Definition Entwurfsmuster --> bewährte Lösungsschablonen für wiederkehrende Emtwurfsprobleme +- aus der Architektur, für Objekt-orientierte-Programmiersprachen adaptiert +- Vorteile: erprobte Lösung für Wiederkehrende Aufgaben; Vor- und Nachteile sind bekannt; leichtere Kommunikation; gut für Dokumentation +- Nachteile: hohe Einstiegshürde; schwer zuerkennen im Code +- Makro-Design (Grobentwurf) --> Modulebene; Architekt und Team +- Mikro-Design (Beziehung von Codebestandteilen zu einander) --> Prozedur/Klassenebene; Programmierer +- Verschiedene Typen von Entwursmustern: Erbauer; Fabrikmethode; Abstrakte Fabrik; Einzelstück (singelton); Multiton; Adapter; Nachrüstungsschnittstellenmuster; Die Brücke; Dekorierer; Fassade; Fliegengewicht; Accumulator; Beobachter; Iterator; Kommando; Nullobjekt; Strategie +- Geschichte der Programmierwerkzeuge --> 1.1 Bohrer; 1.2 Bleistift und Radiergummi; 1.3 Zeileneditor; 1.4 Integrated Developement Enviroment (IDE) +- Einteilung des Integrated Developement Enviroment --> Programmiersprache und Zielplatform +- Integrated Developement Enviroment Beispiele: Eclipse; IntelliJ; Netbeans; Visual Studio Code +- IDE Automatisierungen: Code Insights/Intellisense; safe actions--> Code Formatierung; Compilieren +- IDE automatiesierte Refactorings: einfache Refactorings --> auf aktuelle Datei beschränkt; komplexe Refactorings --> Über mehrere Dateien: Umbenennungen; Signaturen von Prozeduren/Methoden; Verschieben von Codeteilen; Zusammenfassen von Codteilen +- IDE Debugging Beobachtet das Programm während der Laufzeit --> Abarbeitungsreihenfolge der Prozeduren/Methoden; Werte von Variablen + +### Erkenntnis +Die Anwendung von Entwurfsmustern in einem Gruppenprojekt bietet eine strukturierte Herangehensweise zur Lösung wiederkehrender Designprobleme, wodurch effiziente und gut dokumentierte Lösungen ermöglicht werden. Die Unterscheidung zwischen Makro- und Mikro-Design fördert eine klare Kommunikation im Team und trägt zur Entwicklung einer konsistenten Codebasis bei. + +### Wiederholung +Integrated Development Environments (IDEs) wie Eclipse oder Visual Studio Code bieten Entwicklern automatisierte Tools wie Code-Insights, Refactorings und Debugging-Werkzeuge. Diese Funktionen erhöhen die Produktivität im Team, da sie schnelleres Schreiben, Anpassen und Debuggen von Code ermöglichen. Die Auswahl einer geeigneten IDE basiert auf der Programmiersprache und der Zielplattform des Gruppenprojekts.