ExtJS有标准的设计模式吗?

时间:2011-08-24 15:45:46

标签: design-patterns extjs module singleton extjs3

我们在旗舰应用程序中使用ExtJS 3.x。我们的应用程序管理区域分为我们提供的不同模块。每个模块,以及随后模块的不同CRUD操作的每个页面都有自己的.js文件来处理功能。

当我们开始时,我们只是将所有代码都抛入Ext.onReady()而不是真正担心全局命名空间(嘿......我们从未真正将自己视为javascript开发人员)。在获得ExtJS之后,我开始使用单例模式并从Ext.onReady()调用init方法。

var newModule = {
    propertyOne: 'asfd',
    propertyTwo: 'asdf',
    init: function() {
        // set up
    }
};

Ext.onReady(function() {
    newModule.init();
});

这是javascript单例模式的正确使用吗?是否有任何模式比单例更适合ExtJS,比如说模块模式?

我一直在使用this guide作为学习Javascript设计模式的起点。

2 个答案:

答案 0 :(得分:2)

我们最终决定升级到ExtJS并且似乎采用了新的MVC架构,设计ExtJS软件的最佳方法是使用Ext.application()

您可以阅读here

答案 1 :(得分:1)

您可以查看here,例如创建自己的模块,文件Module.js。我们将这种模式用于我们自己的应用程序并且没有问题。

Ext.app.Module = function(config){
    Ext.apply(this, config);
    Ext.app.Module.superclass.constructor.call(this);
    this.init();
}

Ext.extend(Ext.app.Module, Ext.util.Observable, {
     init : Ext.emptyFn
});