2012年12月4日火曜日

Strategyパターン(ストラテジー・パターン)

Strategyパターンは振る舞いに関するパターンのひとつです。


Strategyパターン クラス図
Strategyパターン クラス図
 Strategy・・・・インタフェース(API)を定めた抽象クラス。
ConcreteStrategy・・・・Strategyクラスの具象クラス。
              ここに具体的な戦略・方策・方法・アルゴリズムを実装する。
 Context・・・・メンバにstrategyを持ち、必要に応じてStrategyクラスに委譲するためのクラス。

Decorator パターン(デコレータ・パターン)

Decoratorパターンは、構造に関するパターンのひとつです。

既存のクラスに新たに機能を追加するために
Decoratorクラスでラップして機能を追加する構造になります。
ラップ方法は、継承を使わずにプログラムの実行時に機能を追加します。
 (動的にオブジェクトに機能を追加できる構造)

Decoratorパターン クラス図
Decoratorパターン クラス図
Component・・・・拡張される機能を定義してある抽象クラス
ConcreteComponent・・・Conponentクラスの機能を実装した具象クラス。
Decorator・・・・・・・・・・・メンバー変数にComponentを持つ抽象クラス。
              (※operationメソッドで、Componentのoperationを呼ぶ。)
CooncreteDecorator・・・飾りつけをした具象クラス。

Builder パターン(ビルダー・パターン)

Builder パターンは、生成に関するパターンのひとつです。

FactoryMethodパターンと同様に
Template Method パターン」をインスタンス生成に適用させたパターンです。

FactoryMethodパターンが、「ある抽象的な型の実装を返す」というインターフェースを定義し、そのインターフェースの実装を多種揃えるといった形をとるのに対し
Builderパターンは、「多くの構成要素からなるオブジェクトを組み立てるための部品を返す」インターフェースを定義し、この実装を多種揃える形をとります。

Builderパターン クラス図
Builderパターン クラス図
Director・・・・Builderクラスをコンポジットし目的となるProductオブジェクトを生成するクラス
Builder・・・・Productオブジェクトの生成プロセスを抽象化したクラス
ConcreteBuilder・・・Builderクラスの実装と、Productオブジェクトを取り出すメソッドを持つ。
Product・・・・・複合オブジェクト。








ロリポップ!なら月々105円から

WordPress、MovableTypeなどの簡単インストール、

アクセス解析、ウェブメーラーが標準装備!






プロペシア