model-view-controller - ExtJs 中的 MVC 是一刀切的解决方案吗?

标签 model-view-controller design-patterns extjs extjs4.1 extjs-mvc

我们已经使用 ExtJs 很长时间了,现在,随着其中 MVC 模式的出现,我们面临着一个关键问题,即考虑到我们迄今为止一直遵循的方法,是否在未来使用它.

在我们的应用程序中,我们有类似的屏幕,例如 40 个类似的屏幕用于生成报告等。这些报告屏幕将有一个带有按钮的表格——PDF、CSV、EXCEL。所有按钮在每个屏幕上都具有相同的功能,即,将表单提交到 url 并生成特定报告。

我们一直遵循的方法是创建一个自定义类,比如 reportscreen 类,它扩展了 ExtJs 的窗口类。

此自定义报告屏幕类将已经具有定义了其处理程序的按钮(考虑到所有屏幕的功能都相似这一事实)并且还将具有一个带有函数 setFormItems() 的表单。此类的任何实例都将使用 setFormItems() 和用于生成报告的 url 为表单提供项目。

这种方法不仅帮助我们在很大程度上减少了开发工作,而且甚至允许团队的新成员使用该类并创建一个新屏幕。

现在出现了 MVC,这是最受推荐的模式,上面分享的方法绝对不是 MVC 模式。但是,我们真的需要在这里转向 MVC 模式吗?

使用上述方法,我们不仅可以省力,而且可以更好地控制事物。

问这个问题的目的是了解如果我们使用 MVC 模式实现上述场景并放弃我们当前的方法,我们将获得的确切优势。

那么,在上述上下文中,MVC 会给表带来什么额外的东西?此外,在 MVC 模式中实现此类功能的最佳方式是什么?

提前感谢您的帮助。

最佳答案

您需要使用 MVC 吗?不会。假设您已经拥有适合您的结构,如果它没有损坏,请不要修复它。如果您要开始一个新项目,我建议您使用 MVC,但我不会为此重构一大堆代码。如果您确实使用了 MVC,您将遵循类似的方法。您将拥有一个基 View 类,您可以在其中动态推送子类中的项目。您将有一个基本 Controller 来处理所有自定义事件,然后子类化 Controller 以在“每个模块”的基础上实现自定义功能。

关于model-view-controller - ExtJs 中的 MVC 是一刀切的解决方案吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15502176/

相关文章:

model-view-controller - 在MVC中,1个模型1个表还是1个模型多个表?

javascript - Extjs 将事件添加到 Controller 中网格形式的按钮

c++ - 在 C++ 中动态创建和调用类方法的最简单方法是什么?

java - 对 API 调用进行分组,以便 UI 可以干净地调用它们并获得响应 - 设计

c# - 从函数返回多个列表

c++ - 一个基类只有一个派生类可以吗?

extjs - 如何在 Ext JS 4.2.1 中编译 sass

extjs - 为什么我们需要 extjs 中的 childEls - 在哪里使用它?

c# - 如何在 javascript 中访问 ViewData

java - 如何将 Spring Boot 日志记录数据放入数据库?我想将所有 INFO 和 ERROR 消息放入数据库