タグ

designpatternに関するyouheyのブックマーク (7)

  • デザインパターンの自動化

    .NETで簡単な例を見てみましょう。 public Person : INotifyPropertyChanged { string firstName, lastName; public event NotifyPropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged(string propertyName) { if ( this.PropertyChanged != null ) { this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } public string FirstName { get { return this.firstName; } set { this.firstName

    デザインパターンの自動化
  • 状態管理用の変数をインスタンスに持たせるなこのタコって話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    たとえば、今、「ユーザーが方向を入力したらプレイヤーが動くゲーム作りたい」みたいなはなしがあるとする。その場合、モデルクラスはまあシンプルな実装として下のようなものが考えられると思う。 「できたよー」って見せにいったら、今度は「あのさー、『高速移動モード』っていうモード欲しいんだよね。そのモードだと二倍速で動くの」って言われたとする。シンプルにやるとこうなりますね。 「できたよー」って見せにいったら、今度は「なあ、すげえ面白いこと考えたんだけど、『蟹モード』って面白くない?横は4倍速で動くんだけど縦は半分の速度で動くの」とか言われたわけです。あなたは「お、おう」と言って、以下のようにコードを修正しました。 これ、ヤバい感じしますね。破滅の匂いがする。「今度は『よっぱらいモード』欲しいな〜。入力に関係なくランダムに動くの」みたいなこと言われたら確実に複雑さが爆発してメンテ不能になりになり死

    状態管理用の変数をインスタンスに持たせるなこのタコって話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
  • Dependency Injection の基本的なアイディア - bkブログ

    Dependency Injection の基的なアイディア Inversion of Control コンテナと Dependency Injection パターンを読みました。関連する事柄を広くカバーした、隙のない記事です。 ただ、割とボリュームがあるので、「Dependency Injection って結局何なの?」ということを手っ取り早く知りたい向きにはあまり向かないかもしれません。そこで、基的なアイディアを手短にまとめてみました。 Dependency Injection (依存性注入、DIと略) とはその名の通り、依存性を注入するパターン (テクニック) です。もう少し言葉を加えると、依存性を内部に抱え込まずに外部から注入する、パターンです。 Dependency Injection の基的なアイディアは「依存性を外部から注入する」です。 DIコンテナと呼ばれるフレームワ

  • dpinfo.html

    目次 はじめに Abstract Classパターン Abstract ClassパターンRuby版 (by 助田雅紀さん) Balkingパターン Before/Afterパターン Futureパターン FutureパターンRuby版 (by 助田雅紀さん) Generation Gapパターン Hook Operationパターン Hook OperationパターンRuby版 (by 助田雅紀さん) Immutableパターン Marker Interfaceパターン Monostateパターン MonostateパターンRuby版 (by 助田雅紀さん) MonostateパターンPerl版 (by 宮川さん) Null Objectパターン Null ObjectパターンとSingletonパターン Producer-Consumerパターン Sharableパターン Singl

    youhey
    youhey 2008/09/03
    GoF以外のデザインパターン
  • 具体例で説明するデザインパターン - てっく煮ブログ

    http://tech.nitoyon.com/ja/blog/2008/08/25/design-pattern-js/ に移転しました。

    具体例で説明するデザインパターン - てっく煮ブログ
  • ハタさんのブログ : PHP開発者のためのデザインパターン。Controller

    はてブコメントにて、「シリーズ化して欲しい」とあったので、もう少し書いてみます。 今回紹介するパターンは、Controllerパターン。 たぶん、デザパタ(GoFとかのヤツ)ではControllerパターンなんてものは存在しないのですが、よく見掛けるパターンなので紹介します。 よくあるControllerパターンは、FrontControllerパターンを使ったデータ遷移パターンですが、今回僕が紹介するパターンはCommandController(これもGoFとかのパターンにたぶん無いので勝手に命名)です。 何か実行したいCommandについて、Controllerが適切に実装を振り分けその後のActionを実行するためのパターンです。 よくある実装 例えば、以下にCommandインタフェースを実装した複数のクラスがあり、そのCommandによって、実行するActionを振り分けるCo

    youhey
    youhey 2008/07/07
    PHPでデザインパターンのシリーズ第二弾Controllerパターン
  • ハタさんのブログ : PHP開発者のためのデザインパターン。Delegate

    ITT-WEB - XOOPSCubeにおけるDelegateとは何か?というエントリが上がっているので、ちょっとだけDelegateについて触れてみたいです。 Delegateとは、そのままの意味で「委譲」を示します。(集約ではないです) とある処理をそれまで行っていたクラスから、ちがうクラスに対して処理を行ってもらうようにします。 Delegateと書くとちょっと堅苦しいですが、proxyやTemplate Methodに近い存在です。 Delegateは慣れてくると色々なパターンに適用しやすい便利なパターンなので、是非身に着けたいものです。 以下にファイルのデータを書き込む処理の例を示します。 class DataWriter { public function write(Data $data){ $file = new File($data->getPath()); if(

    youhey
    youhey 2008/07/07
    PHPでdelegateパターンを分かりやすく解説
  • 1