パターンカタログ
原文: https://www.martinfowler.com/eaaCatalog/index.html
Last Significant Update: January 2003
以下は、『Patterns of Enterprise Application Architecture (P of EAA)』で扱ったパターンの簡単なサマリである。
各パターンの概要をページ毎に載せているが、パターンは単独で用いられることを想定していない。これは、パターンに馴染みのある人向けの、単なる覚書のようなものである。これで気軽にオンラインでパターンを参照することが出来ましょうぞ。 将来的にここにコメントを追加するかもしれないが、とりあえずこれがうまく行くことを見守ろう。
David Heinemeier Hanssonが私のために素晴らしいダイアグラムを書いてくれたんだが……このVisioが吐いたGIFのきたなさったら。
Domain Logic Patterns:
TransactionScript (110), DomainModel (116), TableModule (125), ServiceLayer (133).
Data Source Architectural Patterns:
TableDataGateway (144), RowDataGateway (152), ActiveRecord (160), DataMapper (165).
Object-Relational Behavioral Patterns:
UnitofWork (184), IdentityMap (195), LazyLoad (200)
Object-Relational Structural Patterns:
IdentityField (216), ForeignKeyMapping (236), AssociationTableMapping (248), DependentMapping (262), EmbeddedValue (268), SerializedLOB (272), SingleTableInheritance (278), ClassTableInheritance (285), ConcreteTableInheritance (293), InheritanceMappers (302).
Object-Relational Metadata Mapping Patterns:
MetadataMapping (306), QueryObject (316), Repository (322).
Web Presentation Patterns:
ModelViewController (330), PageController (333), FrontController (344), TemplateView (350), TransformView (361), TwoStepView (365), ApplicationController (379).
Distribution Patterns:
RemoteFacade (388), DataTransferObject (401)
Offline Concurrency Patterns:
OptimisticOfflineLock (416), PessimisticOfflineLock (426), CoarseGrainedLock (438), ImplicitLock (449).
Session State Patterns:
ClientSessionState (456), ServerSessionState (458), DatabaseSessionState (462).
Base Patterns:
Gateway (466), Mapper (473), LayerSupertype (475), SeparatedInterface (476), Registry (480), ValueObject (486), Money (488), SpecialCase (496), Plugin (499), ServiceStub (504), RecordSet (508)
Revision History
Here’s a list of the major updates to this paper
- January 2003: