【问题标题】:should a data model hold a controller? (MVC)数据模型应该拥有一个控制器吗? (MVC)
【发布时间】:2020-02-07 10:22:38
【问题描述】:

我正在实现一个游戏,其中玩家有一艘船,他需要随船移动并收集一些东西。玩家也有得分和生命。

我将系统设计为 MVC 模式,现在我有一个boatModel 对象,它保存有关船的数据,BoatController 负责处理运动。

我考虑制作一个 PlayerModel 对象,其中包含有关玩家的数据,包括生命、得分和 BoatController。那是因为从概念上讲,玩家有自己的“船夫”

模型对象“具有”控制器是否有意义(根据 MVC 模式)?

如果不是,如何设计会更好?

谢谢。

【问题讨论】:

  • 模型对控制器(或视图)一无所知。控制器不是“船夫”。
  • 不,从来没有。模型为数据库抽象建模,控制器控制 HTTP 请求的流程。

标签: java model-view-controller design-patterns


【解决方案1】:

不建议将控制器放在模型中。但是,尽管您只有一个具体的类(您的模型),但访问者模式应该是解决您问题的好方法。

Visitor Pattern (Wikipedia)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-05
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    • 2013-12-26
    相关资源
    最近更新 更多