Role-Oriented vs Class-Oriented
OOPのはなし.
- あるオブジェクトの本質とは,
- Role派:そのオブジェクトがそのシステムでどういった役割を担うか
- Class派:そのオブジェクトがどういった存在であるか
- まず作るのは,
- Role派:インターフェイス
- Class派:抽象クラス
- 新しいオブジェクトを作るときには,
- Role派:HogeObject extends Object implements InterfaceA, InterfaceB, InterfaceC,,,
- Class派:HogeObject extends AbstractHogeObject implements InterfaceX
- 実装の継承は,
- Role派:delegate する
- Class派:extend する
- オブジェクトの実装は,
- Role派:速度を優先する.拡張性はぶっちゃけどうでもいい.
- Class派:拡張性を優先するのは人間として当然.
ほらね.だからいつもかみあわない