パンくず
書籍 Patterns to Patterns
Simplification
Move Embellishment to Decorator
概要
Move Embellishment to Decoratorのリファクタリングについて
使用する場面
核となる機能に飾るような機能を追加する場合、
既存のクラスに特定のケースのみ動作する機能を追加することになる。
対応方法
飾りをDecoratorにする
利点と欠点
利点
・クラスから飾りを分離することでシンプルにします
・クラスの主処理と飾りの責務を効果的に区別する
・幾つものクラスに関わる重複した飾りのロジックを削除する
欠点
・オブジェクトが飾りのオブジェクトに変わる
・コードの理解とデバッグが難しくなる
・Decoratorを組み合わせたとき、設計が複雑になる