From 704225f1e039ae4f1b6c68a5d0b01631a29b3203 Mon Sep 17 00:00:00 2001 From: fdai5595 Date: Sun, 5 Nov 2023 11:53:16 +0000 Subject: [PATCH] Update Lerntagebuch.md --- Lerntagebuch.md | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/Lerntagebuch.md b/Lerntagebuch.md index e912304..9597e3a 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -5,10 +5,12 @@ ### Lernziel die künstliche und handwerkliche Eingeschaften eines Softwareentwickler der Unterschied zwischen einen amateur und profi, sowie die merkmale eines profi + ### Erkenntnis Was kann ich für das Gruppenprojekt anwenden Jeder Mitglied einer Gruppe hat Eingeschaften einesSoftwareentwicklers, die für einen Gruppenprojekt von Vorteil sind, jeder Mitglied ist somit wichtig und sollte beachten werden. Beim Programmieren des Gruppenprojekt sollte man möglich viel Fachwissen anwenden und sich an Prinzipien halten. + ### Wiederholung Einen Begriff oder ein Thema in eigenen Worten erklären. @@ -17,3 +19,49 @@ Einen Begriff oder ein Thema in eigenen Worten erklären. --- ## SU 02 (3.11.2023) +### Lernziel +Paradigmen: +-imperative Programmierung = Beschreibt den Lösungsweg. Es sind bestimmte Befehle in der bestimmten Reihenfolge + +-prozedurale Programmierung = eine Ergänzung zur imperativen Programmierung. Die Befehle haben einen Algorithmus, die überschaubar in Teile zerlegt ist.    + +-deklarative Programmierung = Beschreibt die Lösung, sowie das Ergebnis wird angegeben + +-funktionale Programmierung = Vereinfachung der deklarativen Programmierung. Die Funktionen werden definiert, angewendet, sowie die Daten miteinander verknüpft, sodass ein Ergebnis rauskommt + +-objektorientierte Programmierung = Es findet eine Zusammenfassung den Objekten/Klassen mit Daten, sowie darauf arbeitenden Routinen, zu Einheiten. + +-typisierte Programmiersprache = Es findet eine Festlegung der Inhalt der Variable durch einen Datentyp + +-typenlose Programmiersprache = verfügen über keinen gegliederten Datentyp + +-Beachte diese Prinzipien: + +-die Solid-Prinzipien = Separations of Concern, Open/Closed Principle, Liskov Substitution Principle, Interface Segregation Principle Dependency Inversion Principle  + +-die Stupid-Prinzipien = Singelton, Tight Coupling, Untestability, Premature Optimization, Indescriptive Naming, Duplication  + +-KISS Keep It Simple (and) Stupid +-FCoH Favor Composition over Inheritance +-LSA Single Layer of Abstraction  +-YAGNI You Ain’t Gonna Need It +-IOC Inversion of Control  +-DI Dependency Injection + +### Erkenntnis → Was kann ich für das Gruppenprojekt anwenden? + +Die Kenntnis der Programmierparadigmen vereinfacht die Wahl des geeigneten Programms für das Programmieren eines Spiels. Die Design-Prinzipien vereinfachen das Codieren und machen die Software verständlicher. + +### Wiederholung → Einen Begriff/Ein Thema in eigenen Worten erklären. + +Programmierparadigmen ist eine Zusammensetzung aus verschiedenen Techniken und Ansätzen. Es beschreibt einen fundamentalen Stil eines Programms bzw. wie das Programm entworfen worden ist. Die Mehrheit der Programmiersprachen beschränken sich nicht nur auf ein Paradigma. + +### Kritik → Was möchte ich dem Dozenten mitteilen? + + + + + + + +