编辑:接受Chris Holmes的回答,但如果有更好的方法,我随时准备重构!谢谢!
使用MVP模式制作一些WinForms应用程序,传递实体到另一个视图的最佳方法是什么。
假设我有一个CustomerSearchView/Presenter
,在双击时,我想显示CustomerEditView/Presenter
。我不希望我的视图了解模型,因此我不能创建一个以ICustomer
为参数的构造函数。
我的想法是,
CustomerSearchView
创建一个新的CustomerEditView
,它创建自己的Presenter。
然后我的CustomerSearchView
会执行以下操作:
var customerEditView = new CustomerEditView();
customerEditView.Presenter.Customer = this.Presenter.SelectedCustomer;
另一个可能的方法是创建一个名为
CustomerDTO
的类,并创建一个名为CustomerEditView
的视图,该视图接受其中一个CustomerDTO
。但我认为对于这种简单的任务来说这将是很繁琐的。很抱歉我的问题很基础,但是我能找到的所有示例都没有涉及到这一点。而且这是一个已经存在的项目,并且目前使用的方法让我感到头痛...