【发布时间】:2016-01-13 14:52:13
【问题描述】:
我找不到我的问题的明确答案。
在 MVC 中,所有内容都在模型、视图和控制器方面进行了很好的划分。所以通常我会创建一个控制器对象来保存模型和视图的实例。模型和视图彼此不知道任何东西,因此它们必须通过控制器进行通信。
例如,当我为游戏模型编写代码时,有像“GameBoard”这样的类,它通常为“Tile”类型的对象保存一个对象容器......“Player”或“Brick”可以是“Tile”的继承类。
例如,在开始时,第一级必须有一些砖块,所以我必须在某个地方初始化它,我通常在 GameBoard 的构造函数中这样做。
告诉“GameBoard”-构造函数它应该持有哪些对象通常是一个好习惯吗?
我之所以问,是因为我读到了一些关于“单一责任原则”的东西......所以模型应该只是模型(而不是其他)并且不关心自身的初始化吗?
或者这个“初始化”是控制器的任务?如果是,我应该将一个控制器分成多个控制器来处理其“单一职责”吗?还是模型和视图之间一个控制器就足够了?
谢谢
【问题讨论】:
标签: model-view-controller single-responsibility-principle