Seminar on Object-oriented Design
The following subject matters are discussed:
- Fundamental Concepts of Object-oriented Programming:
- Class
- Object
- Inheritance
- Association
- Aggregation
- Composition
- Method
- Interface
- etc…
- Polymorphism and its Fields of Application
- Inheritance versus Aggregation
- Fundamental Principles of Object-oriented Design
- Coupling, Cohesion, Open/Close Principle
- The Multiple Inheritance and its Problem Areas
- Extensive Discussion of the Subject Matters
- A Short Excursion to The Three Amigos (UML)
- What are Design Patterns?
- Goal and Utilization of Design Patterns
- Classification
- Extensive Discussion of Design Patterns
- Adapter
- Singleton
- Proxy
- Facade
- Bridge
- Factory Method
- Abstract Factory
- Iterator
- Command
- Composite
- Decorator
- Observer
- Visitor
- State
- Other…
C++ and Java examples are shown for the implementation of design patterns. In addition to that, accompanying exercises in C++ and Java are performed during the seminar.
To carry out hands-on examples, general common development environments are used. You are free to choose the development platform. Windows, Linux, UNIX or MacOSX are usually used.
Last modified 10.07.2021