Compositeパターン
■目的 ディレクトリとサブディレクトリ、ファイルの関係のように、容器と中身を同一視し、再帰的な構造を作るパターン。 ツリー構造の実現に最適。 ■メリット 集団を構成するクラスと要素を構成するクラスを一様に扱え、クラスの数…
■目的 ディレクトリとサブディレクトリ、ファイルの関係のように、容器と中身を同一視し、再帰的な構造を作るパターン。 ツリー構造の実現に最適。 ■メリット 集団を構成するクラスと要素を構成するクラスを一様に扱え、クラスの数…
■目的 アルゴリズムを容易に切り替えるためのパターン ■メリット ・アルゴリズムを容易に切り替えることができるようになる ・動的にアルゴリズムを切り替えることもできる ■考慮事項 ・クラス数が増える。柔軟性を増しているこ…
■目的 「機能のクラス階層」と「実装のクラス階層」を分離するために使う。 ■メリット ・階層を分離しておくことで、拡張する際にクラスの見通しがよくなる。 ・委譲を用いることで、クラス間の結びつきが緩くなり、ソースコードの…
■目的 Builderパターンと同様に、複雑なインスタンスの生成に役立つパターン。 Builderパターンが初期化処理をメソッドで分割していたのに対し、AbstractFactoryパターンは、抽象的な部品を組み合わせる…
http://www.ryuzee.com/contents/blog/4141 ふむふむ。
複雑なインスタンス生成処理を簡略化するためのパターン。 複雑な初期化を経てインスタンスを生成する場合や、コンストラクタが数多くのパラメーターを要求する場合、Builderパターンを導入することで、インスタンス生成の複雑性…
http://www.atmarkit.co.jp/fjava/rensai3/eclipsetst03/eclipsetst03_1.html Eclipse Metrics Plugin(Frank Sauer)を入…
newでインスタンスを生成するのではなく、cloneで登録済みのインスタンスから新しいインスタンスを複製するパターン。 FactoryMethodパターンと比べ、インスタンス生成用のクラス(Client)がひとつで済むと…
インスタンスがひとつであることを保証するパターン。 システム環境変数とかに使う。 デザインパターンに詳しくない人でも、これだけは知っているケースが多い一番有名なパターン。 そして乱用は禁物。 なぜならグローバル変数と実質…
TemplateMethodをインスタンスの生成に応用したパターン。 インスタンス生成の枠組みと、実際のインスタンス生成のクラスを分離することでクラス間の依存関係を弱めることができる。 もっと言うと、newによる実際のイ…
最近のコメント