Advanced Object-Oriented Design Techniques
Inhalt
In dieser Vorlesung werden Sie Ihre Entwurfsfähigkeiten verbessern,
indem Sie
- sich der Schwächen des objektorientierten Paradigmas bewusst werden,
- Techniken erlernen, die Sie anwenden können, um solche Schwächen
zu umgehen und
- mit neuen Programmiermodellen bekannt gemacht werden, die versuchen, die
angesprochenen Probleme zu beheben.
Inhalte der Vorlesung sind:
- Kurzer Überblick der Konzepte der objektorientierten Programmierung
und deren Vorteile und Einschränkungen bezüglich der
Wiederverwendbarkeit, Wartbarkeit und Erweiterbarkeit von Software.
- Objektorientierte Entwurfsmuster als fortgeschrittene Entwurfstechniken,
die angewandt werden können, um höhere Wiederverwendbarkeit,
einfachere Wartbarkeit und leichtere Erweiterbarkeit zu erzielen.
Ein Entwurfmuster beschreibt
- ein generelles Entwurfsproblem, das immer wieder bei unterschiedlichen
objektorientierten Softwareentwicklungsvorhaben,i. R. allerdings domainenspezifisch,
vorkommt, sowie
- eine "Lösungsschablone", die in angepasster Form an spezifische Erscheinungen
des generellen Problems angewandt werden kann.
Ein Softwareentwickler kann den Entwurfsprozess beschleunigen, indem er
erkennt, wann ein bestimmtes Muster benutzt werden kann, und die
dazugehörende Lösungsschablone in eine für die gegebene
Situation geeignete Form anwendet. In dieser Vorlesung werden einige bekannte
Entwurfsmuster mit deren Vorteilen und Einschränkungen anhand von vielen
Beispielen vorgestellt.
- Objektorientierte Frameworks als ein mächtiges Mittel, um generische
Softwaresysteme zu entwickeln, die in vielen konkreten Anwendungen wiederverwendet
werden können. Ca. 80% eines Softwareentwicklungsprozesses wird für
die Realisierung von Funktionalitäten aufgewandt, die domainübergreifend
(nicht spezifisch für die konkrete Anwendung) sind. Objektorientierte
Frameworks ermöglichen die Realisierung solcher Funktionalitäten
als "halbfertige" Systeme, die an die Bedürfnisse der einzelnen konkreten
Anwendungen angepasst werden müssen, bevor sie benutzt werden können.
Somit werden die Kosten der einzelnen Entwicklungen reduziert. In dieser
Vorlesung werden Entwicklung, Anpassung, und Weiterentwicklung von Frameworks,
deren Vorteile und Einschränkungen, behandelt.
- Neue Softwarekompositionstechniken auf der Grundlage von objektorientierten
Sprachen. Um Probleme des objektorientierten Models bezüglich der
Wiederverwendbarkeit Wartbarkeit und Erweiterbarkeit, welche durch Entwurfmustern
und Frameworks nur unzureichend behandelt werden können, besser
in den Griff zu bekommen, sind in den letzten Jahren einige Programmiermodelle
als Erweiterungen des OO Models vorgeschlagen worden. In dieser Vorlesung
werden einige dieser neuen Ansätze vorgestellt.
Relevante Literatur
Es wird empfohlen die englischen Originalausgaben zu lesen.
- Budd T. Introduction to Object-Oriented Programming, 2nd Edition,
Addison-Wesley,
ISBN: 0201824191 - Gamma et al. Design Patterns: Elements of Reusable Object-Oriented
Software,
Addison Wesley, ISBN 0-201-63361-2 - Booch G. Object-Oriented Analysis and Design with Applications,
Addison-Wesley,
ISBN 0-8053-5340-2 - K. Czarnecki, U. EiseneckerGenerative Programming,
Addison-Wesley,
ISBN: 0201309777 - Fayad et al. Building Applications Frameworks,
John Wiley and Sons,
ISBN: 0471248754
Siehe auch
Eintrag im kommentierten Vorlesungsverzeichnis.