【ソフト開発 アンチパターン】Poltergeists

どんな問題?

  • ポルターガイストは,オブジェクト指向に詳しくない設計者が作ってしまう以下の特徴をもつクラス
    • 責任と役割が小さい
    • ライフサイクルが極めて短い
    • 役割は他のクラスの関数を起動するだけ
      • 予め決まったシーケンスで
    • managerとかcontrollerとかがつくのでわかりやすい.

f:id:yusuke_ujitoko:20161205221725p:plain:w500

症状と結果

  • 冗長なナビゲーションパス
  • 状態をもたないクラス
  • 一時的なオブジェクトとクラス
  • 他のクラスの関数を起動するだけの操作しかもたないクラス
  • control-likeな操作をもつ

原因

どう解決する?

  • ゴーストバスターズの仕事は,クラス階層からそれらを取り除くこと
  • 取り除いた後,その機能が補填する必要がある

yusuke-ujitoko.hatenablog.com