|
| 1 | += Patterns of Enterprise Application Architecture (PEAA) |
| 2 | +:categories: design-principles |
| 3 | +:roles: software-architect, software-developer, team-lead |
| 4 | +:proponents: Martin Fowler |
| 5 | +:related: domain-driven-design, hexagonal-architecture, clean-architecture |
| 6 | +:tags: enterprise, architecture, patterns, design-patterns, orm |
| 7 | + |
| 8 | +[%collapsible] |
| 9 | +==== |
| 10 | +Vollständiger Name:: Patterns of Enterprise Application Architecture nach Martin Fowler |
| 11 | + |
| 12 | +Auch bekannt als:: Fowler-Muster, PEAA-Muster, Enterprise-Muster |
| 13 | + |
| 14 | +*Kernkonzepte*: |
| 15 | + |
| 16 | +Domain-Logic-Muster:: Transaction Script, Domain Model, Table Module, Service Layer |
| 17 | + |
| 18 | +Data Source Architectural Patterns:: Table Data Gateway, Row Data Gateway, Active Record, Data Mapper |
| 19 | + |
| 20 | +Object-Relational Behavioral Patterns:: Unit of Work, Identity Map, Lazy Load |
| 21 | + |
| 22 | +Object-Relational Structural Patterns:: Identity Field, Foreign Key Mapping, Association Table Mapping, Dependent Mapping, Embedded Value, Serialized LOB, Single Table Inheritance, Class Table Inheritance, Concrete Table Inheritance |
| 23 | + |
| 24 | +Object-Relational Metadata Mapping Patterns:: Metadata Mapping, Query Object, Repository |
| 25 | + |
| 26 | +Web Presentation Patterns:: Model View Controller, Page Controller, Front Controller, Template View, Transform View, Two Step View, Application Controller |
| 27 | + |
| 28 | +Distribution Patterns:: Remote Facade, Data Transfer Object |
| 29 | + |
| 30 | +Offline Concurrency Patterns:: Optimistic Offline Lock, Pessimistic Offline Lock, Coarse-Grained Lock, Implicit Lock |
| 31 | + |
| 32 | +Session State Patterns:: Client Session State, Server Session State, Database Session State |
| 33 | + |
| 34 | +Base Patterns:: Gateway, Mapper, Layer Supertype, Separated Interface, Registry, Value Object, Money, Special Case, Plugin, Service Stub, Record Set |
| 35 | + |
| 36 | + |
| 37 | +Hauptvertreter:: Martin Fowler ("Patterns of Enterprise Application Architecture", 2002) |
| 38 | + |
| 39 | +*Wann verwenden*: |
| 40 | + |
| 41 | +* Beim Entwurf komplexer Unternehmensanwendungen mit Datenpersistenz |
| 42 | +* Beim Aufbau geschichteter Architekturen mit klarer Trennung der Belange |
| 43 | +* Bei der Arbeit mit objektrelationalem Mapping und Datenbankinteraktionen |
| 44 | +* Beim Entwurf von Webanwendungen mit geeigneten Präsentationsschichtmustern |
| 45 | +* Beim Verwalten verteilter Systemkommunikation |
| 46 | +* Beim Umgang mit Nebenläufigkeit in Mehrbenutzersystemen |
| 47 | +* Beim Erstellen wartbaren und testbaren Enterprise-Codes |
| 48 | +
|
| 49 | +*Verwandte Anker*: |
| 50 | + |
| 51 | +* <<domain-driven-design,Domain-Driven Design>> - Ergänzt PEAA mit Domain-Modellierungsansatz |
| 52 | +* <<hexagonal-architecture,Hexagonal Architecture>> - Architekturstil mit Fokus auf Ports und Adaptern |
| 53 | +* <<clean-architecture,Clean Architecture>> - Geschichtete Architektur mit Abhängigkeitsregeln |
| 54 | +==== |
0 commit comments