我们已经使用 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/