如何为不同的MVC级别建模

时间:2011-08-05 22:44:10

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

我正在编写一个菜单,可能看起来像这样:

menu sketch

我想使用MVC模式对此进行编码。所以我开始为模型绘制一个UML类图,并得到了这个:

uml class digram for the model

但我不开心。我无法想出控制器与之交互的良好界面。然后我意识到,例如,NumberMenuItem本身可以(应该)分成模型,视图和控制器。该模型将是数字。控制器将是 - 和+用于递减和递增数字。视图将是显示当前数值的标签。其他MenuItem子类也可以在MVC部分中拆分。

现在的问题是:

我现在如何建模,CommandMenuItem,NumberMenuItem,StringMenuItem和SubMenuItem实际上是MVC三元组本身但在较低级别?

P.S。
实现将允许例如NumberMenuItem进入菜单的中间(仅显示 - #+,即没有任何描述性文本),但我的外部API将确保NumberMenuItems和StringMenuItems始终是子菜单中的唯一项目,就像我发布的草图一样。可能会隐藏子菜单的标题栏。

1 个答案:

答案 0 :(得分:0)

我想我现在有了一些可行的方法。 UML diagram

我制作了较低级别的MVC三元组,其中较低级别的模型是较大模型的一部分。对于控制器和视图也是如此。

我在网上唯一能找到的就是:http://www.purpletech.com/articles/mvc/mvc-and-beyond.html