指向性メモ::2005-02-24::JavaScriptでデザインパターンその2 prototype.js でデザインパターン - Singleton JavaScriptのデザインパターン - Singleton 石川さんの記事のコメントに解決法があるが、別の解決法を考えてみた。そもそも new が出来ないクラスを作る、というもの。石川さんの記事と同じ例で記述するとこんな感じ。 var Earth = { instance : null, getInstance : function(){ if(this.instance === null){ function Temp(){}; Temp.prototype = { population : 2, increasePopulation : function(){ this.population *= 2; }, getPopulat
Iterator に続きまして、「一皮かぶせて再利用」な Adapter パターンです。クライアントは var Main = Class.create(); Main.prototype = { initialize : function() {}, main : function () { var p = new PrintBanner("Hello, World"); p.printWeak(); document.writeln('<br>'); p.printStrong(); } } といった感じ。PrintBanner クラスは別のレガシーなクラスのアダプタで、インタフェースを肩代わりしてやっていると。 実行結果は (Hello, World) *Hello, World*となります。 今回もやっぱり interface に相当するものは作らずにやってみます。(Adapter
これまでの連載では、既存の実装コードに対してリファクタリングを行っていくと、自然な成り行きでデザインパターンが導かれていくことを説明してきた。このことが示すとおり、デザインパターンは<有能な設計者のみが行える特殊な>デザインではない。むしろ、<オブジェクト指向で設計する者がその最適な解を求めるうえで当然の帰結として用いられる普遍的な>デザインなのである。つまり、デザインパターンを覚えておくということは、この解にすばやく到達できるということを意味する。 それでは、覚えておいたデザインパターンを、自由気ままにあらゆる場所で何にでも適用していくという態度は正しいだろうか。もちろんそんなわけはない。デザインパターンを適用するのにふさわしくないケース(個所)があるのだ。従って、上手にデザインパターンを使いこなすためには、そういった個所、つまり「デザインパターンの落とし穴」を避けて通る必要があるのだ。
“このチームで一緒に仕事できてよかった” を世界中に生み出していく。 仕事が少しでも楽しくなることを目指し、コラボレーションツールを開発・提供しています。 すべてのチームが使える プロジェクト管理ツール Backlog はチームで働くすべての人が使えるプロジェクト管理ツールです。マイルストーンやガントチャートなどを用いて、課題の優先付けや期限管理が簡単にできます。ソースコードの管理にも最適です。 もっと詳しく アイデアを形にする ビジュアルコラボレーションツール Cacoo はウェブブラウザで使える作図共有ツールです。難しい操作は不要でアイデアをすぐに可視化できます。ワイヤフレームなどの基本的な図からベン図やマインドマップなどの特殊図のテンプレートをご自由にお使い頂けます。 もっと詳しく チームワークのための チャットツール Typetalk は雑談を成果に変えるチャットツールです。スピー
I’ve been putting together some AJAX design patterns. Update (May 15, 2005): I’ve set up AJAXPatterns.org to keep working on these patterns. I’ve also cleaned up a couple of things here, although all future changes will occur at ajaxpatterns. Thanks to Leoglas for spotting two errors here. Why AJAX Design Patterns? AJAX holds a lot of promise for web usability, and the underlying technology has al
「この処理は、確か前に担当したプロジェクトで作ったものとよく似ているな」 開発者なら誰しもこのような局面にたびたび遭遇するものだ。さぁ、あなたならどうする? まずは以前のプロジェクトのソース・コードを流用することを考えるだろう。過去のプロジェクトのソース・コードから対象となるクラスやメソッドを探し出し、現在のソース・コードにコピー&ペーストして修正を加えるだけで、昔のプロジェクトのコードを再利用できる。しかも昔のプロジェクトのコードは、安定稼働している実績あるコードだから信頼性もある。 昔のコードをそのままコピー&ペーストできないとしても、そのクラス構造を再利用できる場合は多い。過去に考え出したクラス構造のパターンを抜き出して、その中身を書き換えるというやり方だ。もしそれらのクラスがうまく抽象化できていれば(たいていの場合そんなことはないのだが)、差分をコーディングするだけでよいかもしれな
『デザインパターン』 うんちくできると、かっこよさそうだよね~。でもあんな分厚い本読んでもピンとこないし、だいたいオブジェクト指向ってなに?なにが便利なのかよく分からんのだけど。いいじゃんなんでも。できればいいんだよ、できれば。 な~んて、思っていても、なんとなく オブジェクト指向が気になっている システム開発者は、多いのではないでしょうか?かくいう 私もそんな者の一人でした。 しかし、これだけ もてはやされているオブジェクト指向です。 なんか、便利なはずです。 そこで、私は、GOFのデザインパターン[1]を、できるだけシンプルに表現した、小さな小さなプログラム ~デザインパターンの骸骨たち~ を作ってみました。骸骨達 を骨の髄までしゃぶり尽くつくすせば、オブジェクト指向の真髄まで味わうことができるかも。!? 『デザインパターンの骸骨たち(RE-BONE)』 では、内容を大幅に見直し、Ja
『デザインパターンの骸骨たち』を公開してから、すでに3年以上を経過しました。この3年の間デザインパターンもより一般的なものになり、ソフトウエア開発の現場にも浸透してきたようです。でも・・・ 『デザインパターン』 なんとなく分かったけどさぁ~。ソフトウエア開発の現場では使いもんになんないね。使ってみたところで、訳のわかんないプログラムになっちゃうし、百害あって一利なし。もうパターンなんてこりごりだよ。 な~んて声を、ときどき聞きます。まぁ、ソフトウエア開発はスピードを要求される厳しい現場ですからね。俺様流のプログラミングで切り抜けるのが一番てっとり早い方法であるのは、私も異論ありません。 でも、デザインパターンはうまく使うと、ほんとに便利なんですよ。『デザインパターンの塗り薬』(※1)では、デザインパターンを使ったアプリケーションの構築を通して、デザインパターンについての私見に満ちた薀蓄をた
/‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ ワーイ スレッドヘン 1ゲト ズザー! \ ‾‾‾‾‾‾|/‾‾‾‾‾‾‾‾‾‾‾ ( Λ_Λ ⊂ ´⌒つ゜ー゜)つ ‾‾‾‾‾‾‾ .___________ | ..| | ギコ猫暗号入門はこちら .| |___________| ∧,,∧ || ⊂ミ.,,゜Д゜彡つ https://www.hyuki.com/cr/cat_index.html 目次 はじめに 登場する猫たち ギコ猫とGoFのパターンたち ギコ猫とマルチスレッドのパターンたち アニメGIF みなさんからのフィードバック ぜひ、感想をお送りください このページにリンクしてくださっている方々 リンク集 更新履歴 はじめに このページでは2ch.netのキャラクタ「ギコ猫」にナビゲートしてもらい、 デザインパターンをいくつか紹介(?)します。 といっても
This article is now hosted on csharpindepth.com I'm gradually moving all my C# articles to the web site for my book, C# in Depth. This article has already moved. I'm leaving the content here so that existing links still work, but I won't be updating this page. Please visit the new location for this article. The singleton pattern is one of the best-known patterns in software engineering. Essentiall
Programs / 最終更新時間:2003年11月28日 03時09分55秒 概要 この資料はデザインパターン関係の様々なWebや本の文章をもとに自分の解釈を加えまとめたものです。作った動機は、各デザインパターンのよいところ、悪いところを一覧で見比べたいという個人的なものでしたが、もしかすると誰かのお役にたてるかもしれないということで公開しました。[1] デザインパターンは少々ややこしいですが、大規模なソフトウェア開発をスマートに行うにはもってこいのものです。はじめてこの言葉を耳にした方は、作ったものを将来に活かすためにも、デザインパターンの導入を検討してみてはいかがでしょうか。[2] [1]間違いのある可能性あり。また、基本的にC++のことしか考えてません[2]やみくもに導入すると初めて目にする人には難解なものになりかねないので、ある程度の教育課程や段階的な導入を試みてみましょう。 オ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く