Strukturmuster
Strukturmuster (englisch structural design patterns) bilden in der Softwareentwicklung Entwurfsmuster, die durch Herstellen von Beziehungen zwischen Entitäten den Entwurf der Software erleichtern.
Beispiele für Strukturmuster sind[1]
- Adapter: adaptiert eine Schnittstelle für eine Klasse in eine andere, die der Client erwartet:
- Adapter-Pipeline: Verwendet mehrere Adapter, um so den Code auszutesten.[2]
- Nachrüstungsschnittstellenmuster (engl. retrofit interface pattern)[3][4]: Besteht aus einem Adapter, der gleichzeitig als eine neue Schnittstelle für mehrere Klassen verwendet wird.
- Aggregat: Ist eine Version des Kompositum, die zusätzlich Methoden zur Gruppierung von abgeleiteten Klassen, sprich Nachkommen zur Verfügung stellt
- Die Brücke: Entkoppelt eine Abstraktion und deren Implementation, sodass beide sich unabhängig voneinander weiterentwickeln können
- Grabstein: Ein „Nachschlagsobjekt“, das den richtigen Ort des Objekts kennt.[5]
- Dekorierer: Ermöglicht der Klasse zusätzliche Funktionalität während der Laufzeit hinzuzufügen, wobei durch Ableiten die Klassenanzahl exponentiell ansteigt.
- Erweiterbarkeit: eine Art von Framework, das komplexen Code hinter einer vereinfachten Schnittstelle verbirgt
- Fassade: Erzeugt eine vereinfachte Schnittstelle einer anderen Schnittstelle, um die Benutzung letzterer zu vereinfachen.
- Fliegengewicht: Bei diesem Muster teilen sich eine große Anzahl von Objekten ein Objekt der allgemeinen Eigenschaften, um Sicherungsspeicher einzusparen
- Kompositum: Eine Baumstruktur von Objekten, in der jedes Objekt dieselbe Schnittstelle verwendet.
- Pipes und Filter: Ist eine Prozesskette, in der die Ausgabe von jedem Prozess die Eingabe des nächsten Prozesses ist.
- Privatklassendaten (engl. private class data pattern): Schränkt den Zugriff des Accessor/Mutator ein.
- Stellvertreter: Hier fungiert eine Klasse als eine Schnittstelle für etwas anderes.
Siehe auch
- Erzeugungsmuster
- Nebenläufigkeit
- Verhaltensmuster
Weblinks
Einzelnachweise
- ↑ Erich Gamma, Richard Helm, Ralph E. Johnson, John Vlissides: Structural Patterns. In: GofPatterns. 30. November 2020, abgerufen am 30. November 2020 (englisch).
- ↑ Adapter Pipeline. Cunningham & Cunningham, Inc., 31. Dezember 2010, abgerufen am 20. Juli 2012 (englisch).
- ↑ Bobby Woolf: Retrofit Interface Pattern. Cunningham & Cunningham, Inc., 19. Juni 2002, abgerufen am 20. Juli 2012 (englisch).
- ↑ Martin Zarate: External Polymorphism. Cunningham & Cunningham, Inc., 31. Dezember 2010, abgerufen am 20. Juli 2012 (englisch).
- ↑ Tomb Stone. Cunningham & Cunningham, Inc., 17. Juni 2007, abgerufen am 20. Juli 2012 (englisch).
Erzeugungsmuster | Abstrakte Fabrik | Erbauer | Fabrikmethode | Prototyp | Singleton | Multiton | Objektpool |
Strukturmuster | Adapter | Brücke | Decorator | Fassade | Fliegengewicht | Kompositum | Stellvertreter |
Verhaltensmuster | Beobachter | Besucher | Interpreter | Iterator | Kommando | Memento | Schablonenmethode | Strategie | Vermittler | Zustand | Zuständigkeitskette | Interceptor | Nullobjekt | Protokollstapel |
Muster für objektrelationale Abbildung | Datentransferobjekt | Table Data Gateway | Row Data Gateway | Active Record | Unit of Work | Identity Map | Lazy Loading | Identity Field | Dependent Mapping | Embedded Value | Serialized LOB | Inheritance Mapper | Metadata Mapping | Query Object | Command-Query-Responsibility-Segregation |
Nachrichtenübermittlungsmuster | Message | Command Message | Document Message | Event Message | Request-Reply | Return Address | Correlation Identifier | Message Sequence | Message Expiration | Format Indicator | Message Channel | Point-to-Point Channel | Publisher-Subscriber Channel | Datatype Channel | Invalid Message Channel | Dead Letter Channel | Guaranteed Delivery | Channel Adapter | Messaging Bridge | Message Bus | Pipes-and-Filters | Message Router | Content-based Router | Message Filter | Dynamic Router | Recipient List | Splitter | Aggregator | Resequencer | Composed Message Processor | Scatter-Gather | Routing Slip | Process Manager | Message Broker | Message Translator | Envelope Wrapper | Content Enricher | Content Filter | Claim Check | Normalizer | Canonical Data Model | Message Endpoint | Messaging Gateway | Messaging Mapper | Transactional Client | Polling Consumer | Event-driven Consumer | Competing Consumers | Message Dispatcher | Selective Consumer | Durable Subscriber | Idempotent Receiver | Service Activator | Control Bus | Detour | Wire Tap | Message History | Message Store | Smart Proxy | Test Message | Channel Purger |
Andere | Application Controller | Business Delegate | Data Access Object | Dependency Injection | Extension Interface | Fluent Interface | Inversion of Control (IoC) | Lock | Model View Controller (MVC) | Model View Presenter (MVP) | Model View Update (MVU) | Model View ViewModel (MVVM) | Page Controller | Registry | Remote Facade | Repository | Service Locator | Session State | Table Module | Template View | Threadpool | Transaction Script | Transform View | Two-Step View | Value Object |