我在尝试理解这种模式时遇到了很多麻烦。 在工作中,我们正在使用被动视图实现MVP。我们正在使用WinForms。
假设我们有一个Clients的视图,它重现了一个模型客户端,我们在我们的数据库中有一个名为Clients的表。 客户可以拥有名称和城市。
我们还有一个城市视图,这是一个简单的添加,编辑和删除,它还代表一个模型城市和一个表城市。
现在,在我们的客户视图中,我们希望让用户添加一个新城市,因此在视图中,我们打开另一个视图,城市视图,然后用户创建一个新城市。
在“客户”视图中,我想查看用户添加的城市,这怎么可能?视图会返回一些东西吗?
(我希望将它放在内存中,在添加城市时不会将任何内容保留到数据库中,我只想要城市的模型)
我认为从视图中返回模型并查看模型不是MVP。那怎么办呢?
答案 0 :(得分:0)
打开另一个视图非常合理,但我个人不赞成返回调用者使用的值的视图。如果需要其他观点来访问这个新城市会怎么样?
请在此处查看我的回答:MVP Communication between presenters?了解使用pub / sub实现目标的示例。