2

我有一个与 OOP 相关的琐碎问题让我感到困惑:在Invoice课堂上,有一个total()方法可以执行计算并返回结果计算。在编码表示层时,特别是“添加新发票”屏幕,我需要total()Invoice用户输入其数据时显示。此时,因为这是一个“添加新”屏幕,所以我还没有Invoice计划在用户单击“保存”按钮后创建的对象。用户输入的数据仍存储在视图模型中(文本字段的值、组合框等)。

没有Invoice对象意味着在用户输入发票数据时我无法调用total()以显示正在进行的总计。但是从我从OOP书籍中学到的东西,该total()方法应该属于Invoice类。

在不改变表示层要求的情况下更好的设计是什么:屏幕应该在用户输入新发票数据时显示临时总计?

4

1 回答 1

1

Invoice答案很明显:即使添加新模型,您也需要有一个模型。视图模型不应该在没有支持模型的情况下工作;它应该是一个提供便利的中间层。

于 2013-07-26T11:14:48.193 回答