タグ

デザインパターンに関するALPHAのブックマーク (7)

  • Programming Place Plus

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    ALPHA
    ALPHA 2007/06/30
     C++言語解説,デザインパターン
  • デザインパターン[モデリング] -TECHSCORE-

    オブジェクト指向プログラミングにおいてデザインパターンを利用することは、開発者に様々なメリットを与えてくれます。 ここでは、「デザインパターンとは何か」というようなデザインパターンの基事項と、GoFの23個のデザインパターンをJavaを利用してわかりやすく解説します。 デザインパターン INDEX

  • Command パターンはやめよう - philosophical

    プログラミングの世界では Command パターンと呼ばれる手法が存在します。 これは GoF 定義の、かなり実用性のあるパターンなのですが、最近は優位点を生かせるような状況じゃないところに適用して、効率を落としているだけみたいな状況を見かけます。 なので、ちょっとネタとして。 Command パターンにはもともと以下のような弊害があります。 ・コマンドをどうやって選択するかが問題 ・execute で渡されるパラメタが一般化されすぎてしまう これを避けるために、Command の具象クラスの属性としてコマンド特有のパラメタを持たせるといったことが行われるのですが、当然この部分は汎用的に記述できないため、Command を呼び出す側ではなく、Command をインスタンスする側で行うことになります。 そうすると、Command を呼び出す時点のコンテキストに依存するパラメタを与えられ

  • Skeleton of GOF's Design Pattern

    COMMAND このパターンは、要求を出すオブジェクトと処理をするオブジェクトを分離します。 COMMAND パターンは、、Invoker と Command と Receiver の三つのクラスで構成されています。Invoker はイベント(メソッド呼び出し)を受けると、イベントに対応する処理を行う Command を生成し、しかるべき手順でを発火させる役割を担います。Command はイベントに応じた処理を手順を記述したものです。スクリプトのようなものと捉えるとわかりやすいと思います。Receiver は、その処理を行う実体です。実際にはOSやミドルウェアが用意するAPIや、ドライバなどがそれにあたると思います。 このパターンは、イベントに対する処理の流れが Command にカプセル化されますので、イベントに対応した手順が非常に分かりやすくなるのが特徴です。組み込みシステムでは非常に

  • デザインパターンを読み解く

    ポリモーフィズム(サブクラスによる切り替え、抽象化) ここに分類されるのは、オブジェクト指向の第3原則、ポリモーフィズムを使用したパターンです。ポリモーフィズムを使用すると、動的に使用するクラスを切り替えることができます。<参照> 他に分類されているものでも、ポリモーフィズムが重要な位置を占めているものもありますが、ここではそれしか使われていないものを扱います。 ただデザインパターン全体を通して強調されているのは、インターフェースでプログラミングするということです。実装への依存をなくし、そうすることによって設計の骨組みを明らかにするのです。 Template 次のようなメソッドがあった場合に、処理Bのところを条件によって変えたい場合があるとします。 class Hogehoge { void doit() { ... 処理A ... ... 処理B ... ... 処理C ... } }

    ALPHA
    ALPHA 2006/09/07
     デザインパターンの批評
  • 連載:.NETで始めるデザインパターン 第3回 リファクタリングにより導き出すStrategyパターン(1/3) - @IT

    まずはこのXpValuesクラス用のテスト・コードを見ていただこう(テスト・コードの実装内容については解説しないので、詳しくはコード内のコメントを参照してほしい)。 ■XpValuesTestクラスの実装内容 このテスト・コードを記述した段階で、以下のようにXpValuesクラスの構造を定義した。 ●XpValuesクラスには、そのインスタンス生成を行うための静的メソッドとして次の2種類がある。 (1)CreatePlainTextFormatableXpValuesメソッド このメソッドで生成されたXpValuesクラスのインスタンスは、プレーン・テキスト形式でXPの価値を出力する。 (2)CreateHtmlTextFormatableXpValuesメソッド このメソッドで生成されたXpValuesクラスのインスタンスは、HTML形式でXPの価値を出力する。 テスト・コードは以下のよ

  • サルでもわかる 逆引きデザインパターン 第1章 はじめてのデザインパターン はじめに:

    第1章 はじめてのデザインパターン はじめに デザインパターンとは 特集の構成 すぐわかるオブジェクト指向 すぐわかるUML おわりに 第2章 逆引きカタログ ロジック編 Singleton (シングルトン) Factory/Factory Method (ファクトリ/ファクトリメソッド) Strategy (ストラテジ) Composite (コンポジット) Visiter (ビジタ) 第3章 逆引きカタログ J2EE編 Template Method (テンプレートメソッド) Facade (ファサード) ViewHelper (ビューヘルパ) DAO (Data Access Object) 第4章 逆引きカタログ その他 ユーティリティクラス 実行時例外を標準的に使う Nullオブジェクト 第5章 デザインパターン適用の勘所 はじめに アプリケーションの仕様 リファクタリング前のサ

  • 1