Role-Oriented vs Class-Oriented

OOPのはなし.

  • あるオブジェクトの本質とは,
    • Role派:そのオブジェクトがそのシステムでどういった役割を担うか
    • Class派:そのオブジェクトがどういった存在であるか
  • まず作るのは,
  • 新しいオブジェクトを作るときには,
    • Role派:HogeObject extends Object implements InterfaceA, InterfaceB, InterfaceC,,,
    • Class派:HogeObject extends AbstractHogeObject implements InterfaceX
  • 実装の継承は,
    • Role派:delegate する
    • Class派:extend する
  • オブジェクトの実装は,
    • Role派:速度を優先する.拡張性はぶっちゃけどうでもいい.
    • Class派:拡張性を優先するのは人間として当然.


ほらね.だからいつもかみあわない