ExtJs中的MVC是一个通用的解决方案吗?

net*_*emp 2 model-view-controller design-patterns extjs extjs-mvc extjs4.1

我们已经使用ExtJs很长一段时间了,现在,随着MVC模式的出现,我们面临着一个关键问题,即在未来的时代是否使用它,因为我们一直遵循的方法.

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

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

此自定义报告屏幕类已经具有定义其处理程序的按钮(假设所有屏幕的功能类似于它们),并且还将具有带有函数setFormItems()的表单.此类的任何实例都将使用setFormItems()和用于生成报告的url为表单提供项.

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

现在MVC是最受欢迎的模式,上面分享的方法肯定不是按照MVC模式.但是,我们是否需要真正转向MVC模式?

使用上述方法,我们不仅可以节省工作量,还可以更好地控制事物.

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

那么,MVC会在上面的上下文中带来什么额外的东西呢?而且,在MVC模式中实现这样的事情的最佳方式是什么?

在此先感谢您的帮助.

Eva*_*oli 6

你需要使用MVC吗?不.假设你已经有一个适合你的结构,如果没有破坏,请不要修复它.如果你开始一个新项目,我建议使用MVC,但我不会为了它而重构一大堆代码.如果你确实使用过MVC,你会采用类似的方法.您将拥有一个基本视图类,您可以在其中动态推送子类中的项目.您有一个基本控制器来处理所有自定义事件,然后子类控制器在"每个模块"的基础上实现自定义功能.