PoEAA
martinfowler.com Dependent Mapping How It Works When to Use It Dependent Mapping Has one class perform the database mapping for a child class. 「他のオブジェクトのコンテキストでしか現れないオブジェクト」もある 例: アルバムに対するトラック …
martinfowler.com Association Table Mapping How It Works When to Use It Association Table Mapping Saves an association as a table with foreign keys to the tables that are linked by the association. 多対多ではForeign Key Mappingを適用できな…
martinfowler.com Foreign Key Mapping How It Works delete/insert back pointer 差分 循環参照について When to Use It 英語 Foreign Key Mapping Maps an association between objects to a foreign key reference between tables. オブジェクトの関連は…
martinfowler.com Identity Field How It Works Choosing Your Key Representing the Identity Field in an Object Getting a New Key When to Use It 英語 Identity Field Saves a database ID field in an object to maintain identity between an in-memo…
martinfowler.com Coarse-Grained Lock How It Works When to Use It Coarse-Grained Lock Locks a set of related objects with a single lock. オブジェクトはグループとして編集される 例: 顧客と住所 グループを構成する1要素を編集する際には、グループ…
martinfowler.com Implicit Lock How It Works When to Use It 英語 Implicit Lock Allows framework or layer supertype code to acquire offline locks. Offline Lockは、1行忘れただけで全部台無しになる read lockの取得が漏れると、最新のセッションデ…
martinfowler.com Pessimistic Offline Lock How It Works When to Use It 英語 Pessimistic Offline Lock Prevents conflicts between concurrent business transactions by allowing only one business transaction at a time to access data. ビジネスト…
martinfowler.com 【補】用語 Optimistic Offline Lock How It Works When to Use It 英語 【補】用語 セッションとビジネストランザクションがほぼ同義扱い Optimistic Offline Lock Prevents conflicts between concurrent busines transactions by detect…
martinfowler.com Unit of Work How It Works When to Use It Unit of Work Maintains a list of objects affected by a business transaction and coordinates the writing out of changes and the resolution of concurrency problems. DBへの変更をともな…
martinfowler.com Database Session State 【補】語彙 How It Works When to Use It 英語 Database Session State Stores session data as committed data in the database. 【補】語彙 レコードデータ ビジネストランザクション完了後の完全なデータ セッシ…
martinfowler.com Server Session State How It Works Java Implementation .NET implementation When to Use It 英語 Server Session State Keeps the session state on a server system in a serialized form. How It Works 最も単純な形としては、アプリ…
martinfowler.com Data Mapper How It Works Handling Finders Mapping Data To Domain Fields Metadata-Based Mappings When to Use It Example Data Mapper A layer of Mappers that moves data between objects and a database while keeping them indepe…
martinfowler.com Client Session State How It Works When to Use It 英語 Client Session State Stores session state on the client. How It Works 大なり小なり使うことになる 最小 セッションIDを保持、セッション情報本体はサーバサイドで持つ 最大 Cl…
martinfowler.com Remote Facade How It Works Remote Facade and Session Facade Service Layer When to Use It Remote Facade Provides a coarse-grained facade on fine-grained objects to improve efficiency over a network. OOPにおいて、複雑なロジ…
martinfowler.com Application Controller How It Works When to Use It Further Reading Application Controller A centralized point for handling screen navigation and the flow of an application 画面の出し分けに関して複雑なロジックがある場合 一…
martinfowler.com Transform View How It Works When To Use It 英語 Transform View A view that processes domain data element by element and transforms it into HTML. MVCのVの責務をデータ変換と捉える 入力: DomainやData Sourceから取ってきたデー…
martinfowler.com Front Controller How It Works Web handler Controller Hierarchy When to Use It Further Reading Example Front Controller A controller that handles all requests for a Web site. 複雑なWebサイトでは、リクエスト処理時に似たよう…
martinfowler.com Template View How It Works Embedding the Markers Helper Object Conditional Display Iteration When to Process Using Scripts When to Use It Example 英語 Template View Renders information into HTML by embedding markers in an …
martinfowler.com Two Step View How It Works When to Use It Example: Two Stage XSLT (XSLT) Example: JSP and Custom Tags (Java) Two Step View Turns domain data into HTML in two steps: first by forming some kind of logical page, then renderin…
martinfowler.com Page Controller How It Works When to Use It 英語 Page Controller An object that handles a request for a specific page or action on a Web site. Webエクスペリエンスのほとんどは静的ページ 1パス1ファイルの関連 動的ページになる…
martinfowler.com Repository How It Works When to Use It Further Reading コード例 英語 Repository Mediates between the domain and data mapping layers using a collection-like interface for accessing domain objects. Domain ModelとData Mapper…
martinfowler.com Metadata Mapping How It Works When to Use It コード例 Metadata Mapping Holds details of object-relational maping in metadata. O/Rマッピングのコードのほとんどは、フィールドの対応づけ DBのテーブルのフィールド メモリ上のオブ…
martinfowler.com Single Table Inheritance How It Works When to Use It コード例 英語 Single Table Inheritance Represents an inheritance hierarchy of classes as a single table that has columns for all the fields of the various classes. RDBは…
martinfowler.com Serialized LOB How It Works When to Use It Example: Serializing a Deparment Hierarchy in XML Serialized LOB Saves a graph of objects by serializing them into a single large object (LOB), which it stores in a database field…
martinfowler.com Data Transfer Object How It Works Serializing the Data Transfer Object Assembling a Data Transfer Object from Domain Objects When to Use It Further Reading Example: Transferring Information About Albums (Java) Example: Ser…
martinfowler.com Class Table Inheritance How It Works When to Use It Furhter Reading コード例 Class Table Inheritance Represents an inheritance hierarchy of classes with one table for each class. 1クラス1テーブル 抽象クラス含む How It Work…
martinfowler.com Concrete Table Inheritance How It Works When to Use It Example: Concrete Players(C#) 英語 Concrete Table Inheritance Represents an inheritance hierarchy of classes with one table per concrete class in the hierarchy. 具象ク…
martinfowler.com Identity Map How It Works Choice of Keys Explicit or Generic How Many セッションに1つ クラス/テーブルにつき1つ Where to Put Them When to Use It Example: Methods for an Identity Map Identity Map Ensures that each object get…
martinfowler.com Lazy Load How It Works 種類 Lazy Initialization Virtual Proxy Value Holder Ghost When to Use It Example: Lazy Initialization Example: Virutal Proxy Example: Using a Value Holder (Java) Example: Using Ghosts (C#) 英語 Lazy …
martinfowler.com Inheritance Mappers How It Works When to Use It コード例 英語 Inheritance Mappers A structure to organize database mappers that handle inheritance hierarchys. @startuml abstract class Mapper { + insert(DomainObject) + upda…