计划重写一个复杂的、大量使用 UI 的应用程序,以使其模型尽可能合理地跨平台。我所做的研究/阅读在概念上是有意义的,但就以某种跨平台方法向 Controller 发送消息的模型而言,我没有看到最佳实践方法需要什么。
例如,通过 Controller 调用模型的 API 来更改模型。但是 Model 然后负责通知客户端其数据发生了变化,因此它需要将其广播回 Controller —— Controller 需要通知 View。
但是对于用 C# 或 Objective-C++ 编写的 Controller ,消息传递方法会有所不同,对吗?是否会使用信号连接到 Controller,后者将使用特定于平台的消息与 View 通信?
是否有一个标准的、轻量级的模板来为独立于平台的模型操作设置这些最佳实践?
最佳答案
我正试图开始一个做同样事情的项目。我正计划使用 boost::signals2 作为回调机制。它使用标准 C 函数进行回调,因此它应该适用于几乎任何语言。您可以用 C++ 编写所有模型,并通过 signals2 回调将更改通知 Controller 。
当然,这会将您限制为与您的模型之间的 C 风格接口(interface),但据我所知,如果您希望它跨平台工作,这是唯一的方法。
祝你好运!
关于c# - 跨平台最佳 MVC 模型到 Controller 的消息传递方法(C#、Objective-C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11317405/