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 Mac OS X are usually used.

Last modified 26.04.2021