Objektorientiertes Design mit MATLAB
Programm ansehen und anmeldenKursbeschreibung
Wenn sich die Anforderungen ändern und die Komplexität steigt, wird eine Codebasis mit der Zeit immer schwieriger zu verwalten. Lernen Sie, wie Sie die Wartbarkeit und Erweiterbarkeit Ihres objektorientierten Codes verbessern, indem Sie ihn in eine Reihe von Klassen mit klaren Verantwortungsbereichen und minimaler gegenseitiger Abhängigkeit restrukturieren. Machen Sie sich mit den Grundursachen schwer zu verwaltender Codeprojekte vertraut und erfahren Sie, wie Sie diese Probleme durch generische Designprinzipien verhindern können. Nutzen Sie spezifische Entwurfsmuster (engl. Design Patterns) für häufig auftretende Designprobleme, um Schwierigkeiten zu vermeiden. In diesem Training werden Konzepte über Anwendungsfälle, Praxisbeispiele und praktische Übungen erläutert. Die neu vorgestellten Konzepte und Ideen werden durch UML-Diagramme verdeutlicht.
Themen sind unter anderem:
- Schreiben wartbarer und erweiterbarer Software durch Anwendung der Prinzipien des objektorientierten Designs.
- Effiziente Lösung wiederholt auftretender Software-Designprobleme mittels bewährter Entwurfsmuster.
Tag 1 von 2
Designprinzipien
Ziel: Befolgen von bewährten Leitlinien, um Klassen und Anwendungen wartbar, flexibel und einfach erweiterbar zu machen.
- Lernen Sie zu kapseln, indem Sie Code, der sich wahrscheinlich ändern wird, in eine separate Klasse auslagern.
- Erlernen, warum Komposition der Vererbung oder dem Hinzufügen weiterer Methoden zu einer Klasse vorgezogen werden sollte
- Festlegen, ob Daten in Handle- oder Wertklassen gespeichert werden sollten
- Single-Responsibility-Prinzip: Warum ein großes “God-Object” vermieden werden sollte.
- Open-Closed-Prinzip: Wie Sie mittels Hierarchien sicherstellen können, dass Ihr Code erweiterbar, aber nicht veränderbar ist
- Liskov-Substitution-Prinzip: Warum Sie Unterklassen zum Hinzufügen neuer Funktionalitäten, aber nicht zum Entfernen unnötiger Funktionalitäten verwenden sollten
- Interface-Segregation-Prinzip: Wiederverwendbarkeit von Code durch mehrere kleine Abstract-Klassen verbessern
- Dependency-Inversion-Prinzip: Wie die Nutzung abstrakter statt konkreter Methoden oder Eigenschaften die Flexibilität Ihres Codes steigern kann
Tag 2 von 2
Entwurfsmuster
Ziel: Effizientes Lösen von Software-Designproblemen durch Nutzung spezifischer Klassen und Klassenbeziehungen, die durch Entwurfsmuster vorgegeben sind.
- Public Private Property Pair: Ein Muster, das sicherstellt, dass zwei Eigenschaften stets dieselbe Länge aufweisen
- Observer: Ein Muster, mit dem eine Klasse automatisch auf Veränderungen bei einer anderen Klasse reagieren kann; ideal für die Echtzeit-Datenanzeige in Apps geeignet
- Template-Methode: Ein Muster, das sicherstellt, dass verschiedene Versionen eines Algorithmus die Teilschritte in der richtigen Reihenfolge ausführen, wobei die Teilschritte selbst variieren können.
- Strategy: Ein Muster zur Verbindung verschiedener Versionen eines Algorithmus mit einem anderen Algorithmus
- Simple Factory: Ein Muster zur Erstellung eines Objekts einer bestimmten Unterklasse auf Grundlage eines Regelsatzes
- Singleton: Ein Muster, das garantiert, dass nur ein Objekt einer bestimmten Klasse vorliegt; ideal, um sicherzustellen, dass nur eine Instanz einer App geöffnet ist
- Adapter: Ein Muster zur Anpassung der Benutzerschnittstelle eines Algorithmus, um beispielsweise die Verwendung von Legacy-Code zu ermöglichen
- Facade: Ein Muster, das einen komplizierten Algorithmus mit mehreren Objekten und Schritten verkapselt
Stufe: Fortgeschrittenenkurse
Voraussetzungen:
Objektorientierte Programmierung mit MATLAB oder Vorkenntnisse in der objektorientierten Programmierung mit MATLAB.
Dauer: 2 Tag
Sprachen: English