http://pc11.2ch.net/test/read.cgi/prog/1171808096/737-738 とある数百人月規模のOO開発現場の基本設計で
とんでもない継承/関連ツリーを見た事がある。
・数百ある画面を、全て別々の画面サブクラスとして定義し、
・データクラス、ビジネスロジック・クラスを
画面と密結合した形で画面毎に個別定義
つー設計。クラス図書くとこんな感じ
画面abstract
△
:implements
┌………┼………┐
画面1 画面2 画面N
◇ ◇ ◇
│ (略) (略)
画面1専用
コンテキスト
◇
┌┴────┬───┐
画面1専用 画面1専用 画面1専用
入力データ エンティティ 出力データ
(DTO) (POJO) (ValueObject)
↑ ↑ ↑
│参照 参照│代入 │代入
└─────┼───┘
: n
画面1専用
ビジネスロジック