ログ日記

作業ログと日記とメモ

Google Closure Library の DataSource とか

MVCの説明: https://sites.google.com/site/closurelibwiki/workflow/mvc
サンプル: http://d.hatena.ne.jp/griefworker/20110419/closure_library_datasource
テストサンプル: https://bitbucket.org/rokujyouhitoma/closure-sample/src/91e43f092138/src/goog/datasource/expr_test.html


goog.ds.DataManagerって使われてるのかな。
Arrayの操作が微妙に使いづらい。
読み込み専用、またはAjaxを通じたJsonでしかデータを更新しないなら使えるのかもわからんが、かゆいところに手が届かない割にオーバースペックな気がする。
いいサンプルないかな。



とりあえず

/**
 * @constructor
 */
app.model.Model = function(opt_value){
  goog.base(this);

  this.value_ = opt_value;
  this.components_ = [];
  this.callbacks_ = [];
  this.parent_ = null;
};
goog.inherits(app.model.Model, goog.events.EventTarget);

こんなクラスを作って、setValueを呼び出したときに関連するcomponentsとcallbacksを呼び出すようなモデルを作った。