我的问题很简单,在标题中已经问过了。
这是上下文:我有一个包含实体和存储库的域。查询结果映射到 DTO 并发送到 GUI。
GUI 是使用 WPF 实现的,对于映射,我需要实现 INotifyPropertyChanged 的类。
我的第一个想法是让 DTO 实现这个接口(interface),因为我预见到要将我的 DTO 再次映射到实现 INotifyPropertyChanged 的项目中需要做很多工作。
这是一个好的做法吗?它有我没见过的陷阱吗?这种情况的“官方”良好做法是什么?
最佳答案
DTO 应该是非常简单、轻量级的数据传输对象。因此,除了他们的数据之外,我不会在他们身上实现任何东西。另外,我相信如果将类序列化到 WCF 服务器或从 WCF 服务器序列化,属性都需要是公共(public)的,因此您不能将 Id 之类的东西设置为只读
我会创建 Model
类来实现 INotifyPropertyChanged
和 IDataErrorInfo
用于属性更改通知和验证目的,并让它们在构造函数。使用类似 AutoMapper 的东西将使 DTO 到模型的映射变得非常简单
关于c# - 使用 DTO 和 WPF 时是否需要实现 INotifyPropertyChanged?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7205174/