IT-Konzepte

Software-Muster jenseits von GoF

53 Entwurfs- und Architekturmuster, die nicht im GoF-Buch stehen – in sieben Kapiteln mit Diagrammen, die meisten mit lauffähigem Java 21.

53 weitere Entwurfs- und Architekturmuster, die nicht im GoF-Buch stehen, aber in der Praxis genauso verbreitet sind: von Dependency Injection über Domain-Driven Design und Nebenläufigkeit bis zu Microservices. Jedes Muster mit Diagramm und Erklärung, die meisten mit einem lauffähigen Beispiel in Java 21 (Spalte „Java“). Die Beispiele lassen sich ohne Build-Tool starten, etwa mit java CircuitBreaker.java.

Erzeugung und Objektverwaltung

1Dependency InjectionAbhängigkeiten übergebenJava
2Service LocatorDienstverzeichnisJava
3Object PoolObjektpoolJava
4Lazy InitializationVerzögerte ErzeugungJava
5MultitonEine Instanz pro SchlüsselJava
6Static Factory MethodStatische FabrikmethodeJava

Struktur und Verhalten im Kleinen

7Null ObjectNullobjektJava
8Value ObjectWertobjektJava
9Fluent InterfaceFlüssige SchnittstelleJava
10SpecificationSpezifikationJava
11Type ObjectTypobjektJava
12Extension ObjectErweiterungsobjektJava
13Mixin / TraitBeimischungJava

Datenzugriff

14RepositoryAblageJava
15Data Access Object (DAO)DatenzugriffsobjektJava
16Active RecordAktiver DatensatzJava
17Data MapperDatenabbilderJava
18Unit of WorkArbeitseinheitJava
19Identity MapIdentitätstabelleJava
20Lazy LoadNachladen bei BedarfJava
21Data Transfer Object (DTO)TransferobjektJava

Domain-Driven Design

22EntityEntitätJava
23AggregateAggregatJava
24Domain EventFachereignisJava
25Domain ServiceFachdienstJava
26Anti-Corruption LayerSchutzschichtJava

Architektur

27LayersSchichtenarchitektur
28Model-View-ControllerMVC, MVP und MVVMJava
29Hexagonal ArchitecturePorts und AdapterJava
30Pipes and FiltersRöhren und Filter
31BrokerVermittler
32Microkernel / PluginMikrokernJava
33BlackboardWandtafelJava
34Event SourcingEreignisspeicherungJava
35CQRSTrennung von Befehl und AbfrageJava

Nebenläufigkeit

36Producer-ConsumerErzeuger und VerbraucherJava
37Thread PoolThread-PoolJava
38Future / PromiseZukünftiges ErgebnisJava
39Active ObjectAktives ObjektJava
40Monitor ObjectMonitorobjektJava
41Read-Write LockLese-Schreib-SperreJava
42ReactorEreignisverteilerJava
43Balking / Guarded SuspensionAbbrechen oder WartenJava
44Immutable ObjectUnveränderliches ObjektJava

Verteilte Systeme

45Circuit BreakerSicherungJava
46Retry mit BackoffWiederholung mit WartezeitJava
47BulkheadSchottJava
48SagaFolge lokaler TransaktionenJava
49API GatewayZugangstorJava
50Transactional OutboxAusgangskorbJava
51Strangler FigWürgefeigeJava
52SidecarBeiwagen
53Publish-Subscribe / Message BusVeröffentlichen und Abonnieren