Architekturmuster
Im Bereich der Softwareentwicklung sind Architekturmuster (auch: Architekturstil, engl. architectural style) in den Arten von Mustern auf oberster Ebene einzuordnen. Im Gegensatz zu Idiomen oder Entwurfsmustern bestimmen sie nicht ein konkretes (meist kleines oder lokales) Teilproblem, sondern die grundlegende Organisation und Interaktion zwischen den Komponenten einer Anwendung.
Übersicht
Architekturmuster lassen sich in vier verschiedene Kategorien einteilen:
- Chaos zu Struktur (engl. Mud-to-structure): Diese Muster sollen helfen die Vielzahl der Komponenten und Objekte eines Softwaresystems zu organisieren. Die Funktionalität des Gesamtsystems wird hierbei in kooperierende Subsysteme aufgeteilt.
- Pipes und Filter
- Schwarzes Brett bzw. Blackboard
- Schichtenarchitektur
- Domain-Driven Design und Naked Objects, Anwendungsdomänen-getriebene Herangehensweise an Architektur und Design
- Data Context Interaction, Trennung von Fachobjekten (Data) Use-Cases und Algorithmen (Context) und fachlichen Rollen (Interaction).
- Verteilte Systeme: Diese Kategorie unterstützt die Verwendung verteilter Ressourcen und Dienste in Netzwerken (z. B. serviceorientierte Architekturen, Orchestrierung). Zwei weitere Modelle ('Mikrokernel' und 'Pipes und Filter') unterstützen Verteilung zweitrangig.
- Interaktive Systeme: Muster dieser Kategorie helfen, Mensch-Computer-Interaktionen zu strukturieren.
- Adaptive Systeme: Diese Muster unterstützen besonders die Erweiterungs- und Anpassungsfähigkeit von Softwaresystemen.
Muster aus Patterns of Enterprise Application Architecture
Object-Relationale Strukturmuster
Identity Field

Ein Identity Field speichert ein Datenbank-ID-Feld in einem Objekt um die Zuordnung vom Objekt zu der zugehörigen Datenbankzeile zu gewährleisten.
Foreign-Key-Mapping
![]() |
![]() |
Association-Table-Mapping

Single Table Inheritance

Concrete Table Inheritance

Class Table Inheritance

Data Source-Architektur
Table Data Gateway
Als Table Data Gateway bezeichnet man in der Informatik ein Objekt, welches als Gateway zu einer Datenbanktabelle fungiert. Eine Instanz dieses Objekts behandelt dabei alle Zeilen der Tabelle.
Row Data Gateway
Als Row Data Gateway wird ein Objekt bezeichnet, welches als Gateway zu einem einzelnen Eintrag (Zelle) in einer Datenquelle fungiert. Für jede Zeile der Datenquelle wird vom Objekt eine eigene Instanz erzeugt.
Active Record
Als Active Record wird ein Objekt bezeichnet, welches als Adapter (englisch Wrapper) zu einer Zeile in einer Datenbanktabelle oder Datenbanksicht (englisch View) dient. Der Adapter beinhaltet hierbei den Datenbankzugriff und Geschäftslogik für die Daten. Es handelt sich im Grunde um einen Row Data Gateway, welcher um die Geschäftslogik erweitert wird und deshalb sowohl Daten (Eigenschaften) als auch Verhalten (Methoden) implementiert.
Data Mapper
Als Data Mapper wird eine Schicht von Mappern bezeichnet, die Daten zwischen Objekten im Speicher und der Datenbank vermittelt. Der Mapper ermöglicht hierbei, dass das Modell der Daten in der Datenbank und das Modell der Geschäftsobjekte unabhängig von einander, sowie unabhängig vom Mapper selbst sind.
Object-Relationale Verhaltensmuster
Unit of Work

Eine Unit of Work verwaltet eine Liste von Objekten mittels einer Business-Transaktion und koordiniert das Schreiben und die Auflösung von Nebenläufigkeits-Problemen.
Identity Map
Eine Identity Map stellt sicher, dass jedes Objekt nur einmal geladen wird, indem jedes Objekt in einer Karte (englisch: Map), meist ein assoziatives Datenfeld, gehalten wird.
Lazy Load
Lazy Loading
Anmerkungen
Referenzen
Siehe auch
- Big Ball of Mud - Anti-Pattern zu Softwarearchitektur
Literatur
- Martin Fowler: Patterns of Enterprise Application Architecture. Addison-Wesley-Longman, Amsterdam 2002, ISBN 0-321-12742-0.
- Jonathan Ufer: Architekturmuster und das Verstehen von Informatiksystemen. Eine Analyse und Unterrichtsbeispiele für die Sekundarstufe II. vdm Verlag Dr. Müller, Saarbrücken 2008, ISBN 3-639-00221-0.
- Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal: Pattern-orientierte Softwarearchitektur. Ein Pattern-System. Volume 1. Addison-Wesley-Longman, Bonn 1998, ISBN 3-8273-1282-5 (englisch: Pattern-Oriented Software Architecture - A System of Patterns.).
- Frank Buschmann, Michael Stal, Hans Rohnert, Douglas Schmidt: Pattern-orientierte Software-Architektur. Muster für nebenläufige und vernetzte Objekte. Volume 2. dpunkt.verlag, 2002, ISBN 978-3-89864-142-5 (englisch: Pattern-Oriented Software Architecture - Patterns for Concurrent and Networked Objects.).
- Michael Kircher, Prashant Jain: Pattern-Oriented Software Architecture. Patterns for Resource Management. Volume 3. Wiley, 2004, ISBN 978-0-470-84525-7.
- Frank Buschmann, Kevlin Henney, Douglas C. Schmidt: Pattern-Oriented Software Architecture. A Pattern Language for Distributed Computing. Volume 4. Wiley, 2007, ISBN 978-0-470-05902-9.
Weblinks
- Gesellschaft für Informatik (GI) Fachgruppe Software-Architektur