【发布时间】:2016-04-18 13:02:56
【问题描述】:
我和我的一个朋友正在争论 MVC(模型视图控制器)设计模式。我们正在开展一个项目,其中我们的两个控制器相互依赖:
我们正在操作两种类型的对象:图案和布局。布局是模式的组合,这意味着在模型中,布局具有模式的 std::vector。其实,当我们要创建一个Pattern的时候,我们必须先创建一个Layout,因为一个Pattern不存在于一个Layout中就不可能存在。
知道了这一点,我们想要为这两种类型的数据实现控制器,并且正在争论谁来存储模式数据。
从我朋友的角度来看,由于没有布局就不能存在模式,我们可以让布局控制器负责存储布局模型中的模式数据。
从我的角度来看,当我们谈论模式数据时,我更愿意让模式控制器处理所有与模式相关的事情。因此,模式控制器将有一个模式容器,而布局控制器将有一个指向布局中存在的模式的指针列表。
我朋友技术的优点是我们没有两个地方的数据(Pattern Controller Container 和 Layout Data),而我的优点是每个控制器的角色不混合,我们可以操作 Pattern不知道它属于什么布局。你怎么看?
【问题讨论】:
-
我认为这种问题更适合programmers。
-
@HenriqueBarcelos 在引用其他网站时,指出cross-posting is frowned upon 通常会有所帮助
-
是的,当然。我有这种时尚认为这很明显,不需要重述。
标签: qt design-patterns model-view-controller