Browse Source

Besonderheiten OOP

main
parent
commit
b385579d48
  1. 49
      lerntagebuch.md

49
lerntagebuch.md

@ -235,7 +235,6 @@
Zusammengefasst ist Test Driven Development eine Methode zur Softwareentwicklung, bei der zuerst Testfälle erstellt werden, bevor der tatsächliche Code geschrieben wird. Das Ziel ist es, die Qualität und Zuverlässigkeit der Software zu verbessern. Zusammengefasst ist Test Driven Development eine Methode zur Softwareentwicklung, bei der zuerst Testfälle erstellt werden, bevor der tatsächliche Code geschrieben wird. Das Ziel ist es, die Qualität und Zuverlässigkeit der Software zu verbessern.
## SU 9 (2023-01-18) ## SU 9 (2023-01-18)
### Lernziel ### Lernziel
@ -259,3 +258,51 @@
#### Aufbau eines CI/CD-System #### Aufbau eines CI/CD-System
Ein CI/CD-System besteht aus mehreren Komponenten, die zusammenarbeiten, um eine automatisierte und schnelle Bereitstellung von Software zu ermöglichen. Die Entwicklungsumgebung des Programmierers ermöglicht es ihm, den Code zu erstellen und zu testen. Das Source Code Management System (SCM) verwaltet die Versionskontrolle des Codes. Die Abhängigkeitenverwaltung sorgt dafür, dass alle benötigten Bibliotheken und Abhängigkeiten vorhanden sind. Das Build-Werkzeug übersetzt den Code in eine ausführbare Form. Der Continous Integration Server führt automatisierte Tests aus und baut den Code, wenn er erfolgreich ist. Erweiterungen für Continous Delivery ermöglichen die automatische Bereitstellung des Codes an eine Produktionsumgebung. Ein CI/CD-System besteht aus mehreren Komponenten, die zusammenarbeiten, um eine automatisierte und schnelle Bereitstellung von Software zu ermöglichen. Die Entwicklungsumgebung des Programmierers ermöglicht es ihm, den Code zu erstellen und zu testen. Das Source Code Management System (SCM) verwaltet die Versionskontrolle des Codes. Die Abhängigkeitenverwaltung sorgt dafür, dass alle benötigten Bibliotheken und Abhängigkeiten vorhanden sind. Das Build-Werkzeug übersetzt den Code in eine ausführbare Form. Der Continous Integration Server führt automatisierte Tests aus und baut den Code, wenn er erfolgreich ist. Erweiterungen für Continous Delivery ermöglichen die automatische Bereitstellung des Codes an eine Produktionsumgebung.
## SU 9 (2023-01-25)
### Lernziel
#### Besonderheiten OOP
#### Was ist OOP (Object-Oriented Programming)?
OOP (Object-Oriented Programming) ist ein Programmierparadigma, das sich auf die Verwendung von Objekten und deren Interaktionen konzentriert. Es hat folgende wichtige Merkmale:
Abstraktion: die Fähigkeit, die wichtigen Eigenschaften und Verhaltensweisen einer Realität in einem Objekt abzubilden.
Vererbung: die Möglichkeit, die Eigenschaften und Verhaltensweisen eines Objekts auf andere Objekte zu übertragen.
Polymorphismus: die Fähigkeit, unterschiedliche Objekte mit gemeinsamen Eigenschaften und Verhaltensweisen zu behandeln.
Kapselung: die Möglichkeit, die Eigenschaften und Verhaltensweisen eines Objekts vor unbefugtem Zugriff und unerwünschter Veränderung zu schützen.
### Erkenntnis
Ich habe begonnen, mich mit den Algorithmen in der objektorientierten Programmierung (OOP) vertraut zu machen. Ich habe festgestellt, dass die meisten Algorithmen, die in der imperativen und funktionellen Programmierung verwendet werden, auch in OOP verwendet werden können, solange sie in den Kontext von Objekten und deren Interaktionen eingebettet sind.
Ich habe angefangen, mich mit der Suche und Sortierung von Algorithmen zu beschäftigen. Ich habe die grundlegenden Algorithmen wie Linear- und Binärsuche sowie Bubble-sort und insertion-sort implementiert, indem ich sie in Klassen ein gebettet habe. Ich habe festgestellt, dass die Verwendung von OOP-Konzepten wie Vererbung und Polymorphismus die Wartbarkeit und Erweiterbarkeit des Codes verbessert hat.
### Widerholung
#### Vorteile des OO-Ansatzes:
Leichter erweiterbar: Da OOP auf die Verwendung von Objekten und deren Interaktionen abzielt, ist es einfacher, neue Funktionalitäten hinzuzufügen, indem neue Klassen und Methoden hinzugefügt werden.
Range-Checks nur während Initialisierung: Durch die Verwendung von Klassen und Objekten können Range-Checks und Validierungen bei der Initialisierung durchgeführt werden, anstatt während der Ausführung des Programms. Dies kann zu einer Zeitersparnis bei der Laufzeit führen.
Nur wenige Zellen werden betrachtet: Durch die Verwendung von OOP-Konzepten wie Abstraktion und Kapselung können nur die relevanten Zellen betrachtet werden, was die Geschwindigkeit des Programms beeinflussen kann.
#### Nachteile des OO-Ansatzes:
Mehr Code: Da OOP eine höhere Abstraktionsebene hat, kann es dazu führen, dass mehr Code erforderlich ist, um dieselbe Funktionalität zu implementieren.
Nutzt zahlreiche fortgeschrittene Sprachfeature: OOP erfordert die Verwendung von fortgeschrittenen Sprachfunktionen wie Klassen, Methoden, Inheritance, Polymorphismus, etc. Dies kann die Lernkurve für Entwickler erhöhen, die mit diesen Konzepten noch nicht vertraut sind.
Loading…
Cancel
Save