Your system administrator has blocked your computer or device. Please contact the system administrator.
今回は、パターンを1つだけ紹介します。「Mediatorパターン」です。GoF本では、それぞれのパターンの「目的]「背景」「効果」などが明示されています。私も、ちょっと真似をしてみましょう。複数のオブジェクトを組み合わせてプログラムの機能を実現するという目的において、オブジェクト間の関連がゴチャゴチャになってしまうという背景(問題)があり、Mediatorパターンの採用によって関連をキレイに整理できるという効果があります。説明だけでは、何のことだかわからないと思いますので、具体例をお見せしましょう。 図1[拡大表示](1)をご覧ください。これは、UML(Unified Modeling Language、ユーエムエル)と呼ばれる表記法で記述されたプログラムの設計図です。UMLでは、四角形の中に下線付きで名前を書いてオブジェクトを表し、関連のあるオブジェクトを矢印で結んで示します。ここで関連
第1章 はじめてのデザインパターン はじめに デザインパターンとは 特集の構成 すぐわかるオブジェクト指向 すぐわかるUML おわりに 第2章 逆引きカタログ ロジック編 Singleton (シングルトン) Factory/Factory Method (ファクトリ/ファクトリメソッド) Strategy (ストラテジ) Composite (コンポジット) Visiter (ビジタ) 第3章 逆引きカタログ J2EE編 Template Method (テンプレートメソッド) Facade (ファサード) ViewHelper (ビューヘルパ) DAO (Data Access Object) 第4章 逆引きカタログ その他 ユーティリティクラス 実行時例外を標準的に使う Nullオブジェクト 第5章 デザインパターン適用の勘所 はじめに アプリケーションの仕様 リファクタリング前のサ
/‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ ワーイ スレッドヘン 1ゲト ズザー! \ ‾‾‾‾‾‾|/‾‾‾‾‾‾‾‾‾‾‾ ( Λ_Λ ⊂ ´⌒つ゜ー゜)つ ‾‾‾‾‾‾‾ .___________ | ..| | ギコ猫暗号入門はこちら .| |___________| ∧,,∧ || ⊂ミ.,,゜Д゜彡つ https://www.hyuki.com/cr/cat_index.html 目次 はじめに 登場する猫たち ギコ猫とGoFのパターンたち ギコ猫とマルチスレッドのパターンたち アニメGIF みなさんからのフィードバック ぜひ、感想をお送りください このページにリンクしてくださっている方々 リンク集 更新履歴 はじめに このページでは2ch.netのキャラクタ「ギコ猫」にナビゲートしてもらい、 デザインパターンをいくつか紹介(?)します。 といっても
_ 5年後に後悔しないJavaプログラムの書き方 ここ数日、死ぬほど後悔しまくっているので、あらためて(というのは、数年前にも一度後悔しまくって、そのときの知見はあらかた処方箋とかコーディングの掟に書いているからだが)後悔しないための書き方をいくつか紹介する。 とにかく、ファクトリメソッドパターンを使うこと。 これは本当に重要。しかも簡単でありながら効果は絶大。 だめな例。 public class FooBar { private Connection conn; ... protected void setup() { ... conn = DriverManager.getConnection(url); ... } urlを指定することや、DriverManagerの実装を交換すれば良いだろうと想定していても(というか、Connectionならそういう方法もあり得るが、そうはいかな
(thanks to id:koyachi、del.icio.us/rtk2106) OOPとFPと。関数、オブジェクト、クロージャの使い分けについて考えます。 関数型が良いのか、オブジェクト指向が良いのか、知りたいと思っていました。色々なページを読み、現時点で一応の答えを得ました。 カウンタを例にして、関数、スコープ、オブジェクト、クロージャの順に見て行きます。関数関数は処理です。入力と出力があります。関数型プログラミングでは、関数同士の入力と出力を連結しプログラムが構成されます。 var current = 0; function next(v){ return v + 1 } function previous(v){ return v - 1 } ok( 1 == ( current = next(current) ) ); ok( 2 == ( current = next(cu
2009年06月13日22:00 カテゴリLightweight Languages javascript - にはクラスはない かえってわかりにくくなっている感じをかつてさんざん実感したので。 JavaScriptのオブジェクトについて考察してみた - あと味 JavaScriptにおけるほとんど全てのデータはオブジェクトである オブジェクトの定義にもいろいろありますが、ここでは「メソッドを持つ」という狭い意味においても事実だということです。実際に見てみましょう。 p(true.toString()); p("String".toString()); p((1).toString()); p((3.14159265).toString()); p([0,1,2,3].toString()); p({q:"answer to life, the universe, and everythi
JavaScriptを勉強しているとオブジェクトとはなんぞや?ということがわからなくなってきます。選択肢が増えれば増えるほど。 JavaScriptには、同じように見えて、実は同じではないデータがあります。それらのオブジェクトについて、区別して説明が付けられるように、自分なりに考察してみました。勉強中のアウトプットなので、ここで書いた内容は事実とは大きく外れているものかもしれません。とにかく不明瞭な部分を自分なりに理由づけしたかっただけです。 サンプルコードを試される場合は、FirefoxのFireBugにあるコンソールに貼りつけて実行するか、Safariの開発ツールにあるコンソールに貼りつけて実行してください。それがわからない方は console.log の部分を alert に置き換えて確認してください。 話がややこしくなるので、今回はプロパティしか扱っていません。 名称の定義について
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く