2011-08-24 66 views
5

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

当我们开始时,我们只是把所有的代码都投入Ext.onReady(),而不是真的担心全局命名空间(嘿...我们从来没有真正把自己想象成javascript开发者)。在得到ExtJS之后,我转向使用单例模式并像Ext.onReady()那样调用init方法。

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

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

这是一个正确的使用JavaScript Singleton模式以及是否有适合ExtJS的比单身好,好比说也许模块模式的任何模式?

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

+0

如果你有足够的资源,你可以升级到extjs 4和使用他们强大的MVC应用程序来设计你的应用程序,而不用担心命名空间。 –

+0

不幸的是,现在升级是不可能的。我们计划在我们达到我们软件的稳定版本时立即进行升级。我迫不及待地想要使用MVC模式和新的Sass主题系统。 –

+0

关于在Ext JS 3.x中使用_a_模块设计模式的其他细节可以在这里找到:[ExtJS(JavaScript)模块设计模式最佳实践](http://stackoverflow.com/q/9104387/320399) – blong

回答

2

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

你可以阅读一下here

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 
}); 
相关问题