「JavaプログラマのためのUML」から,簡単なまとめ(メモ)。 設計品質 設計の臭い 硬直性:変更しにくいシステム。変更の影響範囲が広い 脆弱性:一部を変更するとあちこちに綻び(エラー)が生じるシステム 低移植性:分割できない複雑なシステム 粘着性:? 不要な複雑さ:今必要でない将来のための汎用性による複雑さ。YAGNIの原則違反 不要な繰り返し:コピペによる重複したコード 不透明さ:分かり難さ,設計意図が見えない 依存関係の管理 複雑に絡み合ったコードにならないように依存関係を管理する。 クラス設計の原則 クラス,モジュール設計における原則。クラス分割,依存関係の指針。 単一責務の原則(SPR: Single Responsibility Principle) クラスを変更する理由がただ一つになるように,責務を一つにする 自分の持つ属性に責任を持つなら,外部の環境に依存してはならない(