タグ

designPatternとdesignpatternに関するstylusのブックマーク (7)

  • オブジェクト倶楽部 - TOPページ

    当サイトは ... ソフトウェア開発に関する技術について実践、研究、発表するグループ、「オブラブ」のページです。 XP及びモデリング、PFについてのコミュニティや、ドキュメント、フリーソフトウェアで構成されています。

    stylus
    stylus 2008/08/19
    オブジェクト倶楽部
  • Tanablog: 複数版 Singleton パターン

    リファクタリングを再読していて発見。P.179 に Singleton の複数版パターンがあった。抽象化すると単なる Hash なのだが、何かと使えそう。 以下、簡単なコード。 package { import flash.utils.Dictionary; public class Hoge { private var name:String; private static var instances:Dictionary; public function Hoge(name:String) { this.name = name; } public static function getInstance(name:String):Hoge { if (instances == null) { instances = new Dictionary(); } if (instances[na

  • Administrative Quarantine

    Your system administrator has blocked your computer or device. Please contact the system administrator.

  • はてなブログ | 無料ブログを作成しよう

    また作りたいレシピ 2024年5月第3週 「五月病」という言葉を忘れ去っていたことに気が付いた。もうすぐ5月も終わってしまう、なんということだ。ぐったり気味だった1週間の、また作ると確信したレシピです。 ・生ピーマンの肉みそ 去年、グルメ番組で見かけた生ピーマンと肉味噌の取り合わせが気になり…

    はてなブログ | 無料ブログを作成しよう
    stylus
    stylus 2007/12/22
    if分をVisitorパターンに置き換える
  • デザインパターンを読み解く

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

  • prototype.js でデザインパターン - Iterator

    Ruby on Rails や Catalyst のプラグインなんかでは prototype.js という JavaScript のライブラリを使って、Ajax サポートを実現しています。prototype.js とフレームワークが必要な Ajax の JavaScript コードを吐き出してくれるので、Ruby プログラマや Perl プログラマは JavaScript の実装を意識しなくても Ajax なインタフェースが作れる、という風になっています。 こんな感じで prototype.js は Ajax な部分に注目が集まっていますが、ほかにも "Class-style OO" なフレームワークも内包してます。 JavaScript はプロトタイプベースのオブジェクト指向言語で、C++Java のようなクラスベースのオブジェクト指向言語とはちょっと実装が異なります。プロトタイプ

    prototype.js でデザインパターン - Iterator
  • minfish.jp/blog: ActionScript2.0でデザインパターン(AbstractFactoryの巻き)

    蜜柑じゃなかった、未完です。 今回は、前回でふれた、クラスを文字列からロードするときに厳密に型を指定しないとだめ問題が解決してないため未完です。 抽象的な工場にて使用する抽象的な部品プログラムとその使い方の大まかな流れを決めて、具体的な仕事は具体的な工場と、具体的な部品プログラムに任せるパターンです。 これをやっとくと、具体的なプログラムに変更を加える必要があるとき、パッケージとその工場にあたるプログラムの名前を変更するだけでごっそり実装を差し替えることができて便利ですねと。なるほど。 ただ、同じ種類の処理に変更する時は、さくっと変更できるけど、処理の種類自体を追加したいときとかはいろいろ縛りが出て来ちゃうので注意。 以下ソース。 /** ################################### factory/Factory.as 抽象的な工場。getFactoryメソッド

    stylus
    stylus 2007/06/15
    AbstractFactoryパターン.ストリングで指定してインスタンスを作成 new (eval(classname))
  • 1