MVP模式
model(模型) - view(視圖) - Presenter(管理器),view層不能直接引用model層內的數據,二是通過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();
};