- Objekte, Attribute, Methoden, Nachrichten
- Abstraktion, Kapselung, Klasse, Vererbungsarten
- Aggregation, Assoziation, Komposition, Multiplizität
- Polymorphie, dynamische Bindung, virtuelle Methoden-Tabelle
- Unified Modeling Language (UML): Klassen-, Objekt-, Sequenz-, Zustands-Diagramme
OO-Design Prinzipien:
- Abstraktion, Konzentration auf die Schnittstelle, Delegation, lose Kopplung, Objekt-Komposition statt Vererbung, Lazy Initialization, Kapselung des variierenden Konzepts, Objekt-Verhaltensmodellierung
- Einfluss der Muster auf die Architekturen: Layer, Client-Server, MVC
- Verbesserung der Qualität, Wartbarkeit, Erweiterbarkeit einer Software
- Vermeidung von Entwurfsrevisionen
Behandlung der wichtigsten GoF-Entwurfsmuster:
- Definition
- Klassifikation
- Anwendbarkeit
- Erzeugungsmuster: Factory Method, Abstract Factory, Prototype, Singleton
- Strukturmuster: Adapter, Bridge, Fassade, Decorator, Composite, Proxy
- Verhaltensmuster: Command, Observer, Mediator, Memento, Template Method, Strategy, State, Chain of Responsibility
- Variation und Kombination von Entwurfsmustern
- Behandlung weiterer Muster: Null-Object, Double Checked Locking
MethodeVortrag, Übungen, Demonstration lauffähiger C++ und Java Code-Beispiele. Jedem Teilnehmer steht eine C++ und eine Java-Entwicklungsumgebung zur Verfügung.