タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

デザインパターンとjavascriptに関するtomo_matsukawaのブックマーク (3)

  • JSでイベントハンドラ周りにコマンドパターンを使って、メンテナンスを簡単にする - 心魅 - cocoromi -

    JavascriptでAjaxでかつ画面遷移しまくるアプリを作るときに、イベントハンドラの付け替えが割と面倒だったりします。 そんなときには中身を入れ替えない部分の要素にだけイベントハンドラを設定して、あとはクラスをパースして処理を分けるという手段があります。 今回のサンプル:http://umezo.tsuyabu.in/samples/js/cmdPattern/ 前提 ただし、そもそもイベントハンドラを付け替えなきゃ行けない時なんかあるのか?というと、以下の様なケースが該当します。 Ajaxによる内容の入れ替えをinnerHTMLの書き換えで行っている と言うのも、innerHTMLで中身を書き換えてしまうと、JS上のオブジェクトに対応する、HTML要素がいなくなってしまうため、イベントが飛んでこなくなるのです。 仮に書き換える前と全く同じHTMLを読み込んだとしてもイベントハンドラ

    JSでイベントハンドラ周りにコマンドパターンを使って、メンテナンスを簡単にする - 心魅 - cocoromi -
  • 最速インターフェース研究会 :: JavaScriptのデザインパターン - Singleton

    JavaScriptじゃねえと書けねえよ、ってやり方でデザインパターンを実装してみるコーナー。とはいってもデザインパターンとか良くわからないので適当に覚えながら作る。 間違ってる箇所あったらつっこんでくれるとありがたいです。 わかりやすい文章を書く能力が欠如してるのでデザインパターンって何だとかそういうのはこっち参照。 http://d.hatena.ne.jp/naoya/20050813/1123924312 JavaScriptのコンストラクタはPerl同様自在に定義できます。returnでobjectを返してやれば、newの結果としてそいつを使います。 普通にシングルトンなクラスを実装するにはこんな感じだと思います。 function Singleton(){ var self = arguments.callee; if(self.instance == null){ this.

  • Javascript/デザインパターン/クラスを作る - 俺の基地

    クラスを作る Javascriptに直接クラスを生成する仕組みははない。宣言があるのは変数だけで、あとは全部オブジェクト生成だから。 でも似たようなことを関数オブジェクトを使ってすることができる function Hoge(piyo){ var a = piyo; this.getA = function(){ return a; } } こんな感じ。これでフィールドaを持ち、それに対するアクセサを持つクラスが完成する。さらにaを引数で初期化するコンストラクタまで備えている。 ▲ ▼ プライベートフィールド JavascriptのスコープはJavaのようにブロックスコープではなく関数スコープになっている。これを利用すると普通privateと呼ばれる外部から隠蔽された変数を作ることができる。 例の変数「a」はプライベートなので外部のオブジェクトは直接アクセスできない。 さらにJavascri

  • 1