logo.jpg

OO Design Literatur

Evans, Eric: Domain-Driven Design

0321125215.jpg
Addison Wesley, 2004. ISBN 0-321-12521-5.

Eric Evans beschreibt in seinem bahnbrechenden Buch Domain-Driven Design, wie eine Business Domain analysiert und mittels dem sogenannten Knowledge Crunching Information in Wissen kondensiert werden kann. Als Resultat erhält man ein Modell, dass die Business Domäne einfach und umfassend zu beschreiben vermag.

Des weiteren fällt mit dem Modell die Ubiquitous Language an, jene Sprache, mit der frei von Redundanzen über das eigene Business kommuniziert werden kann.

Strukturiert werden die gefundenen Modelle schlussendlich in:

  • Entities
  • Value Object
  • Services
  • Modules
  • Aggregates
  • Factories
  • Repositories

Viele Fragen, die in grossen Software-Systemen auftreten, werden in diesem Buch beantwortet. Es sind dies zum Beispiel Transaktionen, Persistenz, Multi-User-Problematik, Arbeiten mit verteilten Systemen, etc.
Dieses Buch ist etwas vom Besten, was es derzeit auf dem Markt gibt und absolut empfehlenswert für den ambitionierten und erfahrenen Systemdesigner.



Greenfield, Jack et al.: Software Factories

0471202843.jpg
Wiley, 2004. ISBN 0-471-20284-3.

Das Zeitalter der Industrialisierung scheint auch in der Software-Entwicklung Einzug zu halten. Das Buch Software Factories beschreibt, wie Software-Modelle gebaut und mittels Factories instanziiert werden können.

Ein spannendes Buch für alle jene, die sich auf einem abstrakten Niveau mit der Meta-Modellierung von Software beschäftigen. Mehr

Information zum Thema findet sich unter der Produktebeschreibung von actifSource.

Stahl, Thomas; Völter, Markus: Modellgetriebene Softwareentwicklung

3898643107.jpg
dpunkt, 2005. ISBN 3-89864-310-7.

Software-Modelle zu bauen, muss nicht gleichbedeutend mit MDA sein. Stahl und Völter beschreiben in ihrem Buch das Model Driven Software Development (MDSD).

Mit einem Tool wie actifSource lassen sich die Ideen des MDSD wunderbar umsetzen.

Siedersleben, Johannes: Moderne Softwarearchitektur

3898642925.jpg
dpunkt, 2004. ISBN 3-89864-292-5.

Siedersleben beschreibt in seinem Buch das Wesen der Modernen Software-Architektur und legt seinen Fokus auf einen geeignete Schichtung und die Schnittstelle zwischen den Schichten.

Eines der stärksten Kapitel beschäftigt sich mit der Klassifizierung von Funktionalität in Software Kategorien. Diese Kategorisierung vermag vor allem in grossen und komplexen Projekten eine wohltuende Ordnung zu schaffen.

Ebenfalls äusserst nützlich ist das Kapitel mit der Unterscheidung zwischen Fehler und Ausnahmen. So sind Fehler geplante Ereignisse und treten im Alltag immer wieder auf, während Ausnahmen auf Probleme in der Software selbst hinweisen.

Weitere Themen beschäftigen sich mit der Persistenz, mit Transaktionen und mit der GUI-Architektur. 

Gamma, Erich et al.: Design Patterns.

0201633612.jpg
Addison Wesley, 1995. ISBN 0-201-63361-2.

Ein Standardwerk, das in keiner Bibliothek fehlen sollte. Vor allem als Nachschlagewerk und Lebensgefährte gedacht. Das beste Buch auf seinem Gebiet! Sehr empfehlenswert für jedermann.

Buschmann, Frank et al.: A System Of Patterns

0471958697.jpg
Wiley, 1996. ISBN 0-471-95869-7.

POSA (Pattern Oriented System Architecture)
Ein Buch, dass sich mit dem Einsatz von Pattern in Software-Systemen beschäftigt.

Schmidt, Douglas: Pattern-Oriented Software Architecture (Vol. 2)

0471606952.jpg
Wiley, 2000. ISBN 0-471-60695-2.

POSA 2 (Pattern Oriented System Architecture)
Der Nachfolger von POSA. Empfehlenswert für alle, die sich mit Concurrency und Networking im OO Umfeld beschäftigen. Dank der profunden Erfahrung der Autoren im Echtzeitbereich auch ein guter Begleiter beim Entwicklen von Grundlagen-Software für Embedded-Systems. Themen sind Network Services and Configuration, Event Handling, Synchronization und Concurrency.

Fayad, Mohamed E.; Johnson Ralph E.: Domain-Specific Application Frameworks

0471332801.jpg
Wiley, 2000. ISBN 0-471-33280-1.

Dieses Werk beschreibt Frameworks aus den verschiedensten Problembereichen wie Supercomputing, Gesundheitswesen, Echtzeit-Systeme, Telekommunikation etc. Ein Muss für jeden Software-Architekten.

Douglass, Bruce Powel: Real-Time UML, Second Edition

0201657848.jpg
Addison Wesley, 1999. ISBN 0-201-65784-8.

Eine Einführung in die Modellierung Objekt-Orientierter Echtzeit-Systeme mit der UML. Dazu wird mit ROPES (Rapid Object-Oriented Process for Embedded Systems) ein eigener Software-Prozess eingeführt.

Douglass, Bruce Powel: Doing Hard Time

0201498375.jpg
Addison Wesley, 1999. ISBN 0-201-49837-5.

Weitergehende Konzepte zur Modellierung Objekt-Orientierter Echtzeit-Systeme mit der UML und dem ROPES Prozess.

Czarnecki, Krzystof; Eisenecker, Ulrich W.: Generative Programming

0201309777.jpg
Addison Wesley, 2000. ISBN 0-201-30977-7.

Ein wegweisendes Buch über die Konzepte der generativen Programmierung. Es werden zahlreiche Themen wie die generische Programmierung, die Aspekt-Orientierte Programmierung, C++-Meta-Programmierung, Intentional Programming etc. diskutiert.

Riel, Arthur J.: Object-Oriented Design Heuristics

020163385X.jpg
Addison Wesley, April 1996. ISBN 020163385X.

Auf sehr pragmatische Art und Weise werden über 60 Richtlinien für den richtigen Einsatz der OO-Technologie erläutert. Besonders dem noch nicht so er fahrenen OO-Programmierer sind diese sprachunabhängigen Richtlinien eine grosse Hilfe.

Fowler, Martin: Refactoring

0201485672.gif
Addison Wesley, Juli 1999. ISBN 0201485672.

Besonders beim Umgang mit existierendem Code können einem die Tipps aus "Refactoring" sehr dienlich sein. Viele der Tipps haben aber Allgemeingültigkeit und sorgen für bessere Code-Qualität.