【问题标题】:Interaction between models MVC Java模型间的交互 MVC Java
【发布时间】:2014-07-13 01:27:30
【问题描述】:
我对 MVC 模式有疑问。
我正在用 JAVA 创建一个带有摇摆的迷宫游戏,我正在尝试使用 MVC 模式。到目前为止一切顺利,但我没有得到 MVC 的“规则”。
假设我有两个模型:一个用于创建迷宫,另一个用于玩家。
玩家从迷宫模型中创建的迷宫中获取它的位置。你看,玩家从那个迷宫中确定它的位置,并决定它是否可以移动到一个新的位置。
这部分我明白了,但是我的玩家模型可以问迷宫模型吗?还是在 java swing 应用程序中使用的 MVC 中没有问题? (模型之间的交互)。
谢谢!
【问题讨论】:
标签:
java
swing
model-view-controller
model
maze
【解决方案1】:
MVC。模型仅对您的数据进行建模并访问该数据。视图仅向用户提供数据。控制器就像一个指挥家,把它们放在一起。一个模型是否可以由另一个模型组成,我想你会问,是的,但就对象的紧密耦合程度而言,它可能不是最好的。玩家是由迷宫物体还是只是一个位置?您的问题似乎更多地是关于 OOP 原则而不是 MVC 之一。除非我当然想念你的问题。
【解决方案2】:
öhm,这是许多人一直在讨论的 MVC 的一个方面。对于 ME 来说,这只是意味着你有一个非常愚蠢的 VIEW-Part,它除了显示数据和接受请求之外什么都不做。这个请求被转发到控制器,控制器用它们做一些事情,然后调用模型来做真正的工作。所以从我的角度来看,当模特们互相交谈时,你完全没问题。但是为了减少依赖和改进封装,我让我的模型通过适当的控制器获取其他需要的模型,所以我可以使用依赖注入。
我将 MVC 应用程序中的控制器视为某种总机,它“调节交通”并提供一个地方,您可以从建筑物内部呼叫某个同事,也可以从外部呼叫您必须和秘书谈谈。
我知道其他人会说这是错误/正确的,但对我来说,即使在团队中也是如此。