我在Xcode上使用cocos2dx,我对cpp MVC设计模式有疑问。
当我的模型值在内部发生变化时,我应该将更改后的值与事件一起传递,还是应该通知视图并让视图通过控制器对这些值进行请求?
我问这是否适合在MVC设计模式中使用。
我使用静态方法创建我的控制器(继承自ViewDelegate和Scene)来创建它。在控制器的init方法中,我使用View的静态方法来创建实例。然后设置委托(ViewDelegate *)并传递Controller的引用。这样,视图可以使用ViewDelegate引用来访问在ViewDelegate中声明为虚方法的方法。 Controller可以使用之前创建的实例访问View。
另一方面,我将我的模型创建为单身人士。在我的控制器一侧使用它,当模型中的值在内部更改时,我使用事件调度程序调度一个事件,告诉它已经更改了视图。