2016-12-05 【ソフト開発 アンチパターン】Poltergeists アンチパターン どんな問題? ポルターガイストは,オブジェクト指向に詳しくない設計者が作ってしまう以下の特徴をもつクラス 責任と役割が小さい ライフサイクルが極めて短い 役割は他のクラスの関数を起動するだけ 予め決まったシーケンスで managerとかcontrollerとかがつくのでわかりやすい. ポルターガイストの欠点 不必要なのでリソースを無駄にする 冗長なパスを使うため,非効率 オブジェクトモデルを散らかすため,オブジェクト指向の邪魔 症状と結果 冗長なナビゲーションパス 状態をもたないクラス 一時的なオブジェクトとクラス 他のクラスの関数を起動するだけの操作しかもたないクラス control-likeな操作をもつ 原因 オブジェクト指向アーキテクチャの不足 そのシステムにオブジェクト指向を適用するのがよくないこと 仕様の崩壊 どう解決する? ゴーストバスターズの仕事は,クラス階層からそれらを取り除くこと 取り除いた後,その機能が補填する必要がある これは正しいアーキテクチャを調整すれば単純な操作となる yusuke-ujitoko.hatenablog.com