Factory Method


!!作成中!!


  • 目的
オブジェクトを生成するときのインタフェースだけを規定して、実際にどのクラスを
インスタンス化するかはサブクラスが決めるようにする。
Factory Methodパターンは、インスタンス化をサブクラスに任せる。

GoFより



  • 用途
似たようなドキュメントを作成するクラスや、そのドキュメントの仕様が決まっていないときに使用する?
仕様が決定するまで実装部分をスタブ程度に抽象化しておきたい場合に適応すると手戻りがなくなってよいと思われる。

  • ボヤキ
てかドキュメント(帳票、証票)の仕様くらい要件定義で決めておけ!!
少なくとも詳細設計フェーズまでには決めておけ!!
という事態に少し役に立つかもしれないし、
プロトタイプでこんな感じというのを見せてあげれば
ユーザさんも少しは具体的に答えてくれる?

  • 用途2
『その呼び出すクラスに対応した(関係の強い)クラスを生成する』という事がもうちょっと大きなつかみ方。
IDをパラメータとした使用方法もあるため、ディスパッチャー(分岐指示)なんかにも使えるのではないかなぁ?
サーブレットなんかはコマンドパターン?と組み合わせてAcutionIDやらFunctionIDやらで生成するクラスをディスパッチさせて、excute()というコマンドパターン?お決まりのメソッドを実行する。
もちろん生成される側にはそのメソッドは実装しておくわけで、これで簡易ディスパッチャー作れてしまうかな?
(本当に使われているかはまだ調べてませんのであしからず)


図を書く予定だけどめんどくさいなぁ。。。
最終更新:2005年12月12日 22:31