独自のシンプルで小さな (オブザーバー) MVC の例を作成しようとしており、IIFE を使用してモデルとコントローラーのプライバシーを作成しようとしています。コントローラーは呼び出されたときにモデルオブジェクトを必要とするため、このアプローチについては確信が持てません。
私がやろうとしていることを示す機能する Fiddle を作成しましたが、この場合、最初に呼び出されるモデルに依存しています。管理を容易にするためにコントローラーとモデルを異なるファイルに入れたいのですが、この依存関係のためにこれを行うことができるかどうかわかりません。
これを回避する方法、またはこの種のことに対するより良い解決策はありますか?
(コード抜粋)
var CalcController = (function (model) {
console.log('CalcController created');
var controller = {};
_model = model;
controller.changeModel = function(){
console.log('CalcController changeModel()');
_model.updateModel();
};
controller.init = function(){
console.log('CalcController.init');
}
return controller;
})(CalcModel);