Martin Fowler 2003
Martin Fowler's architectural patterns book
Patterns of enterprise application architecture by Martin Fowler, 2003.
This is a must-have book for anyone working on "enterprise applications", which used to be known as "information systems", or (for old farts) "data processing". The patterns cover topics such as complex data, concurrency, persistence, distribution, and user interfaces.
The book is in two parts: Part 1 is a narrative that motivates and explains the patterns; part 2 is a catalogue.
The UML diagrams are [[1]].
Domain logic patterns
Transaction script pattern | Organizes business logic by procedures where each procedure handles a single request from the presentation. |
Domain model pattern | An object model of the domain that incorporates both behavior and data. |
Table module pattern | A single instance that handles the business logic for all rows in a database table or view. |
Service layer pattern | Defines an application's boundary with a layer of services that establishes a set of available operations and coordinates the application's response in each. |
Data source architectural patterns
Table data gateway pattern | An object that acts as a Gateway to a database table. One instance handles all the rows in the table. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Row data gateway pattern | An object that acts as a Gateway to a single record in a data source. There is one instance per row. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Active record pattern | An object that wraps a row in a database table or view, encapsulates the database access, and adds domain logic on that data. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data mapper pattern | A layer of Mappers that moves data between objects and a database while keeping them independent of each other and the mapper itself.
Object-Relational Behavioral Patterns
Object-Relational Structural Patterns
Object-Relational Metadata Mapping Patterns
Web Presentation Patterns
Distribution Patterns
Offline Concurrency Patterns
Session State Patterns
Base Patterns
UpdateFowler is working on a new edition, which will merge in updated ideas from his analysis patterns book, MartinFowler1997 * See [enterprise architecture]. |