0

我编码菜单,可能是这个样子:如何模拟不同的MVC水平

menu sketch

我想这个使用MVC模式的代码。于是我开始画UML类图的模型,并得到了这一点:

uml class digram for the model

但我却高兴不起来。我无法想出控制器与之交互的良好界面。然后我意识到,例如NumberMenuItem本身可能(应当)在被分割到一个模型,视图和控制器。该模型将是数字。该控制器将是 - 和+用来递减和递增数量。视图将是显示当前数值的标签。其它菜单项子类也可以在MVC部分分开。

所以,现在的问题是:

我怎么现在CommandMenuItem,NumberMenuItem,StringMenuItem和SubMenuItem实际上是MVC三和弦本身,而是在一个较低的水平模型呢?

附:
实施将使例如NumberMenuItem来在菜单的中间(只显示 - #+,即没有任何说明性文字),但我的外部API将确保NumberMenuItems和StringMenuItems始终是唯一的项目在子菜单,就像我发布的草图。虽然可能会隐藏子菜单的标题栏。

回答