PoEAA ch18 Layer Supertype
Layer Supertype
A type that acts as the supertype for all types in its layer.
レイヤーを構成する全オブジェクト共通の振る舞いを、レイヤー共通の基底クラスに移す
How It Works
- 他のパターンと併用
- 例: Domain Model
- 下記の機能を共通の基底クラスに移す
- Identity Fieldsを取り扱う処理
- 主キー等
- Identity Fieldsを取り扱う処理
- 下記の機能を共通の基底クラスに移す
- 例: Data Mappers
- 全Domain Modelが共通の基底クラスを持っていることに基づいて、
全Domain Modelに共通の操作を全Data Mapper共通の基底に移せる
- 全Domain Modelが共通の基底クラスを持っていることに基づいて、
When to Use It
- レイヤーの全オブジェクト共通機能があるとき
- 著者は自動でやること多し
Example: Domain Object (Java)
class Domain Object... private Long ID; public Long getID() { return ID; } public void setID(Long ID) { Assert.notNull("Cannot set a null ID", ID) this.ID = ID; } ...