0

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

在什么情况下应该采用哪种方法?

我们将使用 JavaEE REST Web 服务 (json) 作为数据源。是的,我们的应用程序将是数据密集型和模块化的(具有多个高级模块,不少于十几个)。

4

4 回答 4

2

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

Sencha团队也推荐它。

于 2012-12-20T13:00:09.867 回答
2

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

它允许新开发人员知道在哪里寻找特定功能(加速采用)以及在哪里放置新功能。

Ext 加载器使处理许多文件变得容易,如果您觉得文件太多是个问题,那么在部署之前将它们压缩成一个文件。

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

于 2012-12-20T13:17:53.250 回答
2

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

  1. 控制器文件夹中的所有控制器
  2. 模型文件夹中的所有模型
  3. 商店文件夹中的所有商店
  4. 视图文件夹中的所有视图

但是任何有足够多年经验的人都可能会告诉你,这是一种糟糕的设计模式。

模块化 MVC 设计模式将通过依赖本地和全局级别的事件来放大关注点的强解耦。它将 Web 应用程序拆分为可管理的小部分(基于用户凭据从底层传递的 JSON 配置对象将小应用程序组合在一起以构成大型应用程序)。它允许在不破坏其他现有功能的情况下向大型应用程序添加新功能。它使错误修复成为一项更集中的任务。它还创建了一种通用模式,使事前或事后的单元测试变得非常容易。

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

于 2013-05-22T03:15:26.367 回答
1

答案主要取决于您的 Ext JS 能力水平。如果您对该框架感到满意并了解动态加载的工作原理,那么您可能会很好地使用 MVC。

但是,如果您刚开始使用 Ext JS(或者,需要任何第三方工具的更高水平的成熟度),您可能应该坚持使用普通的 Ext JS。您可以使用 MVC 做的所有事情都可以不用,而且 MVC 引入了一种新的结构化文件模式,这将增加学习曲线。

您的决定还应考虑访问 Ext JS 4.x 的更高版本。如果您能获得 4.1.3(甚至是新的 4.2 beta),那么与使用 4.1.0 或更早版本相比,使用 MVC 会取得更大的成功。根据发行说明,仅在 MVC 中就有 14 个错误在 4.1.2 和 4.1.3 中得到修复。

于 2012-12-20T17:30:44.690 回答