Design patterns Sencha ExtJS:MVC还是无MVC

Design patterns Sencha ExtJS:MVC还是无MVC,design-patterns,extjs4,extjs4.1,Design Patterns,Extjs4,Extjs4.1,我们已经开始使用ExtJS构建RIA作为演示工具,现在的问题是,使用ExtJS4.x,我们可以将JS代码分解为常规方式或MVC方式 应该采取哪种方式,在什么情况下 我们将使用JavaEE REST webservices json作为数据源。是的,我们的应用程序将是数据密集型和模块化的,包含多个高级模块,不少于12个。如果您从一开始就实现代码,我看不出为什么不使用建议的和众所周知的实践,如MVC模式 这也是Sencha团队推荐的 我建议使用MVC方法更好地分离代码和应用程序的特定功能 它允许新开

我们已经开始使用ExtJS构建RIA作为演示工具,现在的问题是,使用ExtJS4.x,我们可以将JS代码分解为常规方式或MVC方式

应该采取哪种方式,在什么情况下


我们将使用JavaEE REST webservices json作为数据源。是的,我们的应用程序将是数据密集型和模块化的,包含多个高级模块,不少于12个。

如果您从一开始就实现代码,我看不出为什么不使用建议的和众所周知的实践,如MVC模式


这也是Sencha团队推荐的

我建议使用MVC方法更好地分离代码和应用程序的特定功能

它允许新开发人员知道在哪里寻找特定的功能,加快采用速度,以及在哪里放置新功能

Ext加载器可以轻松处理多个文件,如果您觉得太多文件是一个问题,那么在部署之前将它们压缩到单个文件中


在我的书中,许多较小的文件总是比较小的文件更受欢迎。

答案主要取决于你的Ext JS能力水平。如果您熟悉该框架并了解动态加载是如何工作的,那么使用MVC可能会做得很好

但是,如果您刚开始使用ExtJS,或者需要从任何第三方工具获得更高级别的成熟度,那么您可能应该坚持使用vanilla ExtJS。使用MVC可以做的一切都可以不用,MVC引入了一种新的结构化文件模式,这将增加学习曲线


您的决定还应考虑到对ExtJS4.x更高版本的访问。如果你能获得4.1.3甚至是新的4.2测试版,那么与使用4.1.0或更早版本相比,MVC将取得更大的成功。根据发行说明,仅MVC中就有14个bug在4.1.2和4.1.3中得到了修复。

我总是选择使用ExtJS 4或任何框架进行MVC开发的模块化方法。ExtJs 4文档可以让从未构建过多个企业级单页web应用程序的人相信,ExtJs唯一可用的设计模式是:

控制器文件夹中的所有控制器 “模型”文件夹中的所有模型 存储文件夹中的所有存储 “视图”文件夹中的所有视图 但是任何有足够多年经验的人都可能会告诉你,这是一种糟糕的设计模式

模块化MVC设计模式将通过依赖本地和全球级别的事件来增强关注点之间的强解耦。它将Web应用程序拆分为可管理的小部分,将小应用程序组合在一起,使大型应用程序基于一个JSON配置对象,该对象是根据用户的凭证从底层传递下来的。它允许在不破坏其他现有功能的情况下向大型应用程序添加新功能。它使bug修复成为一项重点更加突出的任务。它还创建了一个公共模式,使得在事件发生之前或之后进行单元测试非常容易


我还没有看到很多关于用ExtJS4实现模块化设计模式的文章。我通过6年的ESRI Javavscript API编程学习了如何实现这一点。这让我的生活轻松了很多。它使企业级单页Web应用程序的Javascript开发变得有趣。

我在等待Sencha团队的人是否能参与回答这个问题。这是一个选择,而不是强制要求,问这个问题的唯一原因是它最终会在javascript控制器、视图、模型等中包含太多文件。。!如果你有一个大项目,当然你会有很多文件。但是,这有什么问题?与将所有代码放在一个文件中相比,最好将许多文件巧妙地分隔和组织起来;你说得对。我应该在sencha论坛上插入这个Q…但我可能想要多样化,我更信任SOF的回应。!谢谢大家的回应,谢谢大家的回应。我感谢你在我的问题上的帮助。