07/03/31 15:53:01
>>293の元設計の問題点(つづき2)
(2-1. Bridgeパターン・スパゲティ (クラスの過剰な分割によるOOモデルの崩壊))
原因(3-1)モデルや型の過度な単純化による、複雑な問題への適応能力低下。
現実の問題は、>>293のような単純な構造は持っていない。
まず、データにはバリエーションがある。
例えばデスマ事例(>>306-307)で指摘されているように、
操作対象となるオブジェクト/データ(Hanzai)は一種類ではなく、
実際には何種類ものバリエーションが存在する。(分析モデル)
Hanzai <─┬ 原料Hanzai <─┬ 木版<─┬ 柔かい木版
│ │ └ 硬い木版
│ ├ ゴム版
│ ├ 芋版
│ └ 銅版
├ 加工中Hanzai<─┬ 下絵中Hanzai
│ └ 切除中Hanzai
└ 完成した版画版
※ ここでHanzaiのサブクラスは、
工程進行に伴う状態変化 (原料→下絵中→切除中→完成) と見なせる。
ただし、後工程になるほどデータの内部構造は複雑になっていく。
次に、データはしばしば単純なモノシリック構造ではなく、
複数のデータを内部構造として持つComposite構造を持つ。
完成した
版画版 ◇┬ 背景部 ◇─(略)
(人物画) └人物部 ◇┬ 頭髪
├ 顔 ◇┬ 目
│ ├ 鼻
│ └ 口
├ 上着