gpt4 book ai didi

model-view-controller - MVC 组件责任,需要澄清

转载 作者:行者123 更新时间:2023-12-01 12:58:02 25 4
gpt4 key购买 nike

我正在开发纸牌游戏,其中有一个 UIView 类负责呈现游戏板的 View 。

作为呈现 View 任务的一部分,类需要执行一堆任务,例如

  • 布置卡片组中的卡片
  • 更新卡片布局以响应用户、计算机或用户的移动

但在这里我想知道,我的 View 应该在多大程度上了解一副纸牌?例如,我的 View 是否可以保留指向它绘制的 Deck 的指针?

最佳答案

对于 MVC,View 应该只知道正确进行布局所需的信息。 Controller 应该给它这个数据,并告诉 View 何时需要更新自身(更多地取决于特定的 MVC 框架,但一般来说,这是真的)。​​

因此,如果您的 View 需要了解整个 Deck 来进行布局,那么是的,但这对我来说听起来很奇怪。我认为 View 最多只需要知道一副牌中当前的纸牌数量,但我不知道所有的纸牌游戏。

对于我能想到的几个纸牌游戏,需要在棋盘上不同位置放置的纸牌列表,以及其他位置的一些纸牌计数可能就是 View 需要知道的全部内容。 Controller 负责填充列表(决定哪些卡片需要在哪些地方显示),而 View 只是代表这一点。

一般来说,View 所做的只是表示应用程序的状态(在本例中为当前面板状态),仅此而已。它没有任何与表示完整应用程序状态的一个子集相关的逻辑。在您的情况下,如果 View 有任何与决定在何处显示哪些像素相关的逻辑,那么它做的太多了。

关于model-view-controller - MVC 组件责任,需要澄清,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8563565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com