我目前正在参加 JavaScript 设计模式类(class),我想澄清事件处理程序的正确位置。
我注意到我教授的代码在 View 部分包含了客户端应用程序的点击处理程序——我的代码实现了相同的结果,但我在 Controller 中包含了点击处理程序。
在 MVC 应用程序中,事件处理程序应该位于 View 中还是 Controller 中?
最佳答案
在 MVC 应用程序中,事件处理绝对应该放在 View 中。 对于不太熟悉软件设计模式的程序员来说,这是一种常见的误解,认为事件处理属于 Controller ,可能是因为它的名称(controller = sth. that control sth. ...)。 原因是可移植性、代码重用和模块化:想象一下您想要在不同的平台上运行您的应用程序:PC、Web、移动电话设备。每个特定平台都有自己的 GUI 框架、库等,因此如果您在 View 中放置 100% GUI 平台特定的事件处理内容(例如 javafx、swing、android、struts、gwt ...),您可以重用 Controller 和模型,并且只需要处理新的自定义 View 。 Controller 可以看作 View 和模型之间的中介,是负责模型和 View 之间正确交互的中间件。
关于javascript - 事件处理程序是在 MVC 应用程序的 View 中还是 Controller 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35006973/