Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

書籍 Refactoring to Patterns | Accumulation| Move Accumulation to Visitor

パンくず

書籍 Refactoring to Patterns
Accumulation
Move Accumulation to Visitor

概要

Move Accumuration to Visitorについて

使用する場面

1つのメソッドが異種のオブジェクトから情報を累積する場合

対応方法

Visitorパターンを使用する

利点と欠点

利点

・異種のオブジェクトに対してそれぞれアルゴリズムを適用出来る。
・クラス階層を気にせずに済む
・キャストが不要になる

欠点

・元々共通に取り扱える場合は設計が複雑になる
・巡回対象が増えると巡回メソッドの追加が必要になる
・巡回クラスが非カプセル化にな場合がある

サンプル

サンプルはGoFデザインパターンVisitorパターンへ