使用MVP模式向ListView添加项目或增加计数

问题描述

说明

一个WinForms应用程序,其中包含以下内容作为表单的一部分:

enter image description here

单击“添加”按钮后,会将新条目添加到ListView,其中包含来自上方TextBoxNumericUpDown的数据。如果已经存在具有相同“描述”和“金额”的条目,则仅将“数量”增加给定的值。

代码

该表单实现以下接口(部分):

public interface IMainWindow
{
    IEnumerable<InvoiceItem> invoiceItems { get; set; }
    void addItemToNewInvoice(InvoiceItem item);
}

该视图了解域对象并将其与ListViewItem之间进行转换。

有一个Presenter,它获取注入的MainWindow视图的一个实例(实现上述接口)。然后演示者调用视图的属性和方法。

问题

用于确定是将新商品添加到列表中还是增加现有商品数量的逻辑应该放在哪里?视图或演示者?我了解在MVP模式中,视图应尽可能“哑”。但是,让View决定是添加全新的行还是增加现有行中的数量是否合适?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)