大家好。 我正在为大学项目创建一个完全用Java编写的2D视频游戏,灵感来自Zelda。 我们必须使用MVC和观察者/可观察者设计模式,但我卡住了。 这是我的第一年和第一次尝试创建视频游戏,所以我会显得很傻,但我需要帮助 :')
我在视图包中有一些Renderer类,负责在屏幕上渲染和动画化对象,但由于它们的方法接收来自模型包的对象作为输入,因此它们可能会修改模型。
例如,我在LinkRenderer类中有一个方法“draw()”,给定一个类型为“Link”的对象作为输入,它会通过一些getter获取其数据并绘制它。 问题是,它理论上可以调用setter来修改其状态。 我尝试将这些方法设置为受保护的,但控制器需要访问setter,因此我不知道该怎么办。
理论上,这并不是那么糟糕,但仅仅是视图修改模型的可能性存在就可能对我的最终成绩产生负面影响。 是否有办法完全分离模型和视图? 我只是过于神经质吗? 谢谢!
评论 (0)