タグ

2009年12月10日のブックマーク (3件)

  • サルでもわかる 逆引きデザインパターン 第2章 逆引きカタログ ロジック編 Factory/Factory Method(ファクトリ/ファクトリメソッド)

    イントロダクション オブジェクトを利用する側からすれば、使用する際にオブジェクトの詳細を意識したくはありませんよね。 たとえば、条件によってデータファイルの読み込みに使うオブジェクトが異なる場合、CSV形式であればCSVDataReaderオブジェクトを、XML形式であればXMLDataReaderオブジェクトを生成します。 通常はif、else、switchなどの条件分岐を使用して、条件ごとに生成するオブジェクトを変更します。 ここで新たなデータファイル形式への対応が必要になった場合は、新しいオブジェクト生成処理と、条件式を追加しなければいけません。 オブジェクトの使用者は、オブジェクトが使用できる状態で受け渡してもらい、オブジェクトは使うことだけに専念したいものです。 また、このようにオブジェクトの生成処理と使用処理が同じコードに書かれていた場合、オブジェクトの生成処理によってオブジェ

    ichiroc
    ichiroc 2009/12/10
    ファクトリパターンは、どのオブジェクトを生成するかも判断してくれる。
  • 7. Builder パターン

    7.1 Builder パターンとは 第7章では、Builder パターンを学びます。builder とは、建築者や建築業者などを意味する単語です。Builder パターンとは、同じ作成過程で異なる表現形式の結果を得るためのパターンです。 例えば、家を建てることを考えてみます。完成する家がどのような家になるかというのは「家の構築過程」と「素材」大きく2つの要素で決定されると考えてみてください。「作成過程」とは、「どのような順番で、どこに何を配置していくか」というようなことであり、「素材」とは、「柱には何を使って、壁には何を使って・・・」ということであると考えてください。 このとき、「作成過程」には、"平屋を建てるための作成過程" や "2階建ての家を建てるための作成過程"、または "少し変わった平屋を建てるための作成過程" など様々なものが考えられます。同様に、「素材」にも、"柱は木で、壁

  • 8. AbstractFactory パターン

    2012/04/26 一部修正しました デザインパターン 8章 AbstractFactory パターン 8.1 AbstractFactoryパターンとは 8.2 サンプルケース 8.3 AbstractFactory パターンのまとめ 8.1 AbstractFactoryパターンとは 第8章では、 AbstractFactory パターンを学びます。AbstractFactory を日語に直訳すると「抽象的な工場」となります。いったい抽象的な工場とは、どんな工場なのでしょう。AbstractFactory パターンとは、インスタンスの生成を専門に行うクラスを用意することで、整合性を必要とされる一連のオブジェクト群を間違いなく生成するためのパターンです。 例えば、「車」を作成するプログラムを考えてみてください。このプログラムのある部分で、「車」オブジェクトである変数 car にタイヤ