Mooseでデザパタとデザパタ本を読みながらメモっていく。
- Adapter
- handlesで委譲させるべし
- Template Method
- Moose::Roleで抽象クラス
- requiresでメソッドの実装を要求
- Factory Method
- コンストラクタの実装を要求するとこはtemplate method
- Singleton
- Bridge
- 機能と実装を委譲で緩く結びつける
- 実装側はMoose::Roleで抽象クラス
- Composite
- Moose::Roleで抽象クラス
- Visitor
- あとで
- デザパタ本のjavaの実装だとacceptメソッドにオーバーロード使っている
- Chain of Responsibility
- あとで
型による制約とMoose::Roleでインターフェースや抽象クラスが作れるのがよいのかな。