微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MVP 模式 - 在被动视图中填充列表和网格

如何解决MVP 模式 - 在被动视图中填充列表和网格

假设我的演示者从我的存储库中获取了我的 Person 类的列表,我想将该列表中的信息绑定到被动视图中的 ListBox 或 DataGridView。

由于视图不应该知道模型,我是否正确地假设我需要在演示者中将该列表转换为 List 并将其传递给视图以绑定到 ListBox

如果我想填充一个 DataGridView,或者一个 List>,我应该向视图传递什么?

是否可以接受专门为视图绑定的模型,演示者将模型从存储库转换为视图的不同模型?

示例人物模型:

public class PersonModel
{
    public int PersonId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string MiddleInitial { get; set; }
}

解决方法

如果你使用真正的 MVP,你会在你的 Presenter 中获取你的 DataModel 列表并将它们映射到一个 ViewModel 列表,这样你的数据和视图层之间仍然存在关注点的分离。因此,只需在客户端的 Models 文件夹中创建一个 ViewPerson.cs 类,复制与数据模型相同的属性,然后使用 AutoMapper 或自定义映射方法来映射每个属性。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。