パターン指向リファクタリング:BuilderによるCompositeの隠蔽

Compositeの構築処理をもっと使いやすくするためのリファクタリング


Compositeって・・・容器と中身を同一視し、再帰的な構造を作るだったよね。


用は、CompositeをBuilderでカプセル化する


利点

  • Compositeを構築するクライアントコードを単純化
  • Compositeの生成にまつわる繰り返し、エラーを軽減
  • クライアントとComposite間の結合度が低くなる
  • カプセル化されたCompositeや複合オブジェクトを異なった形式で表現可能


欠点

  • インターフェースの意図が伝わりにくくなることもある


パターンが満載の例--;


Builderの改善

  • StringBufferの使い方で性能問題に
  • StringBufferは必要に応じて、自動的にサイズを増えるように設計してあるが、内部でサイズを増やし、データを格納しなおすため、性能に問題がでることもある


スキーマベースのBuilder

  • addメソッド一つのBuilder
  • 巨大なXML文書の生成には使えそう?


断片的だなぁ。
もう一回読み直す必要ありだね--;