Compositeの構築処理をもっと使いやすくするためのリファクタリング
Compositeって・・・容器と中身を同一視し、再帰的な構造を作るだったよね。
用は、CompositeをBuilderでカプセル化する
利点
- Compositeを構築するクライアントコードを単純化
- Compositeの生成にまつわる繰り返し、エラーを軽減
- クライアントとComposite間の結合度が低くなる
- カプセル化されたCompositeや複合オブジェクトを異なった形式で表現可能
欠点
- インターフェースの意図が伝わりにくくなることもある
パターンが満載の例--;
Builderの改善
- StringBufferの使い方で性能問題に
- StringBufferは必要に応じて、自動的にサイズを増えるように設計してあるが、内部でサイズを増やし、データを格納しなおすため、性能に問題がでることもある
スキーマベースのBuilder
- addメソッド一つのBuilder
- 巨大なXML文書の生成には使えそう?
断片的だなぁ。
もう一回読み直す必要ありだね--;