我是一名Web开发人员,但我对C ++和C#非常了解。但是,最近我编写了一个GUI应用程序,我开始迷失在如何处理控制器和视图逻辑之间的关系。在PHP中它非常简单 - 我可以闭着眼睛编写自己的MVC模式 - 主要是因为PHP是无状态的,你可以根据请求重新生成整个表单。但在应用程序编程语言中,我很快就迷失了。
我的问题是:我如何将我的控制器与视图分开?视图是否应附加到控制器的事件 - 或视图是否应实现控制器与之交互的接口?
发布于 2018-08-28 13:19:02
如果我是你,我会从您的视图界面中公开事件。这将允许您使控制器成为整个交互的中心。
控制器将首先加载并实例化视图,我将使用依赖注入,这样您就不会在视图本身上创建依赖关系,而只是在接口上创建依赖关系。控制器将访问模型并将数据加载到视图中。控制器将绑定到视图接口上定义的事件。然后,控制器将通过事件处理将数据保存回模型。
发布于 2018-08-28 14:09:17
大多数GUI框架(从MFC到SWT到其他)都已经基于MVC了。实际上,MVC模式最初是由Smalltalk-80创建的,后来首先真正用于GUI开发。
仔细检查并查看所选GUI工具包的标准和建议实践。有时,在解决某个问题或使用特定工具包时,MVC不是一个好的模式。
https://stackoverflow.com/questions/-100000679
复制相似问题