JSデザインモードのMVPモード

1049 ワード

MVPモード
Model(モデル)-view(ビュー)-Presenter(マネージャ)では、viewレイヤはModelレイヤ内のデータを直接参照できません.2つ目はpresenterレイヤを介して
'use strict';

//            ,                ~~

var MVP = function () {};

MVP.model = (function () {
  //       
  var M = {};

  //         ,    ajax     
  //     ,        
  M.data = {};

  //     ,        
  M.conf = {};

  return {
    getData: function (m) {
      return M.data[m];
    },
    getConf: function (c) {
      return M.conf[c];
    },
    setData: function (m, v) {
      M.data[m] = v;
      return v;
    },
    setConf: function (c, v) {
      M.conf[c] = v;
      return v;
    }
  };
})();

MVP.view = (function () {
  return function (str) {
    var html = '';

    //              
    return html;
  }
})();

MVP.presenter = (function () {
  var V = MVP.view;
  var M = MVP.model;
  var C = {};

  return {
    init: function () {
      for (var i in C) {
        C[i] && C[i](M, V, i);
      }
    }
  };
})();

MVP.init = function () {
  this.presenter.init();
};