責務と機能
- 責務: 内部状態に応じて、その対応が変化する
- 機能: 内部状態に関係なくいつも同じ値を返す
アンチパターン
- 多重度*の記載がない
- すべてが1対1の場合も手続き型設計を引きずっている危険性がある
- 多重度: インスタンスの個数
- メソッド名に目的語を含んでいる
- メソッド名は実行する部分だけでよい
- 何を実行するかはクラス名称と属性によって判断されるべきである
- 受動的* なメソッドが多い
- 受動的: *クラウス自身が自立して動作するのではなく、他のクラスに支配されて動作するもの。Get/Setやクエリ等
- 受動的なメソッドが多いクラスは、一つのクラスがほかのクラスに問い合わせてクラスの制御をするため、シーケンス図を確認すると五月雨状になる。
- 受動的なメソッドがない場合は、シーケンス図は階段状になり、責務を委譲しながら動作する。(良い設計)