ソフトウェア開発におけるデザインパターンまたは設計パターン(英: design pattern)とは、過去のソフトウェア設計者が発見し編み出した設計ノウハウを蓄積し、名前をつけ、再利用しやすいように特定の規約に従ってカタログ化したものである。パターン(pattern)とは、型紙(かたがみ)やひな形を意味する。 本稿でのデザインは狭義の設計という意味であり、CSSやHTMLなどで使われる意匠デザインの定形を示す「デザインパターン」とは異なる。 書籍『オブジェクト指向における再利用のためのデザインパターン』において、GoF (Gang of Four) と呼ばれる4人の共著者は、デザインパターンという用語を初めてソフトウェア開発に導入した。GoFは、エーリヒ・ガンマ、リチャード・ヘルム、ラルフ・ジョンソン、ジョン・ブリシディースの4人である。彼らは、その書籍の中で23種類のパターンを取り上げた
Railsの勉強がしばらくストップしてしまったので、今日はビデオを見てお勉強。Rails Envyの「ActiveRecord Tutorial」は長さも25分とちょうど良いし、「ActiveRecordとはなんぞや」を具体例を交えて簡潔に教えてくれるのでとても良い勉強になる。 英語だが、冒頭の部分を乗り越えればあとはプログラミングの話なので、日本人にもそれほど難しくないはず。念のため、オープニングの部分のみ、超訳しておいた。 ActiveRecordのアイデアは、いったいどこから来たのか? まずは"Active Record"の意味から (ActiveRecordではない点に注意) "Active Record"とは、デザイン・パターンの一つ。 どうやってデータベースにアクセスするか? SQLにプログラムから直接アクセスする方法もあるが...ちょっと不便 データベースのテーブルをオブジェ
「アクティブレコード、アクティブ・レコード」はこの項目へ転送されています。イギリスのレコードレーベルについては「ミュージック・フォー・ネイションズ」をご覧ください。 Active Recordはデータベースからデータを読み出すためのアプローチである。データベーステーブルあるいはビューの1行が1つのクラスにラップされ、オブジェクトのインスタンスがそのデータベースの1つの行に結合される。このクラスはデータベースアクセスのカプセル化も行う[1]。オブジェクトの生成後は、保存メソッドで新しい行がデータベースに追加される。 オブジェクトが更新されると、データベースの対応する行もまた更新される。ラッパークラスはテーブルあるいはビューの各カラムに対するアクセサメソッドを実装するが、それ以外の振る舞い(MVCのモデルが担当すべきロジック)も記述することができる[1]。 テーブルとクラスが一対一で結びつくこ
/‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ ワーイ スレッドヘン 1ゲト ズザー! \ ‾‾‾‾‾‾|/‾‾‾‾‾‾‾‾‾‾‾ ( Λ_Λ ⊂ ´⌒つ゜ー゜)つ ‾‾‾‾‾‾‾ .___________ | ..| | ギコ猫暗号入門はこちら .| |___________| ∧,,∧ || ⊂ミ.,,゜Д゜彡つ https://www.hyuki.com/cr/cat_index.html 目次 はじめに 登場する猫たち ギコ猫とGoFのパターンたち ギコ猫とマルチスレッドのパターンたち アニメGIF みなさんからのフィードバック ぜひ、感想をお送りください このページにリンクしてくださっている方々 リンク集 更新履歴 はじめに このページでは2ch.netのキャラクタ「ギコ猫」にナビゲートしてもらい、 デザインパターンをいくつか紹介(?)します。 といっても
目次 はじめに 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
ActionScript と、その原型である JavaScript は、いずれもプロトタイプベースの言語です。プロトタイプベースの言語では、実行時にクラス定義を変更して機能を追加することが容易にできます。カスタムクラスに他のクラスのメソッドを追加するには、そのカスタムクラスのプロトタイプオブジェクトのインスタンスにアクセスします。 ActionScript の個々のオブジェクトには prototype プロパティがあり、それを使用することで、カスタムクラスに機能を追加できます。Flash では、プロトタイプオブジェクトのメソッドとプロパティが、そのオブジェクトのすべてのインスタンスに適用されます。prototype プロパティのデータ型はオブジェクトなので、プロトタイプオブジェクト経由で任意の数のプロパティやメソッドをオブジェクトに追加できます。 Mix-in は、継承を使用せず、動的に既
使用環境: WinXP,Flash MX2004pro Flashout,ASDT,MTASC,Eclipse PDT せっかくoopなActionScriptなので、GOFデザインパターンの勉強中です。AS3は触ったことないのでAS2ですが・・・・。 皆さんにお聞きしたいのが、 ・このパターンはこんな場面に便利! ・このパターン無しではやっていけない! ・テキトーに組むとこのパターンになっちゃう などはありますでしょうか? 僕がよく使うのは ■Singleton ターゲットの階層を考えないで、ターゲットパスが取れる ■Template Method 「タブ」とか「ウィンドウ」とかある程度同じなんだけど 微妙に動作がちがう。その微妙さを作れる ■Observer(Mediator?) Stage.onResize()を通知するのに必ず使います。 こんなもんでしょうか・・・・・・・ と、ここ
『デザインパターン』 うんちくできると、かっこよさそうだよね~。でもあんな分厚い本読んでもピンとこないし、だいたいオブジェクト指向ってなに?なにが便利なのかよく分からんのだけど。いいじゃんなんでも。できればいいんだよ、できれば。 な~んて、思っていても、なんとなく オブジェクト指向が気になっている システム開発者は、多いのではないでしょうか?かくいう 私もそんな者の一人でした。 しかし、これだけ もてはやされているオブジェクト指向です。 なんか、便利なはずです。 そこで、私は、GOFのデザインパターン[1]を、できるだけシンプルに表現した、小さな小さなプログラム ~デザインパターンの骸骨たち~ を作ってみました。骸骨達 を骨の髄までしゃぶり尽くつくすせば、オブジェクト指向の真髄まで味わうことができるかも。!? 『デザインパターンの骸骨たち(RE-BONE)』 では、内容を大幅に見直し、Ja
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く