我在尝试理解这种模式时遇到了很多麻烦。在工作中,我们正在使用被动视图实现 MVP。我们正在使用 WinForms。
- 所以我们有一个View(它是一个windows窗体),它实现了一个接口并有一个presenter。
- 演示者获取视图实现的接口实例,并管理视图抛出接口。
- 演示者可以看到模型和经理。
- 管理器处理几个模型的数据库持久性,但它不会手动添加它们,它使用一个单独的层,称为数据,因此它告诉该层持久化数据
- 然后数据层使用实体框架将数据持久化到数据库中
假设我们有一个客户端视图,它代表一个模型客户端,并且我们的数据库中有一个名为客户端的表。客户可以有姓名和城市。
我们还有一个 Cities 视图,它是一个简单的添加、编辑和删除,它还代表了一个模型 City 和一个表 City。
现在在我们的客户视图中,我们想让用户添加一个新城市,所以在视图中,我们打开另一个视图,城市视图,然后用户创建一个新城市。
从客户视图,我想看看用户添加了哪个城市,这怎么可能?视图会返回一些东西吗?
(我想把它放在内存中,添加城市时不要将任何东西保存到数据库中,我只想要城市的模型)
我认为返回模型并从视图中查看模型不是 MVP。那我该怎么办?