我们和一些同事之间就实现INotifyPropertyChanged的最佳层进行了一些讨论。这是场景:
这里的场景是DA层返回的数据与UI层消耗的数据相同。我们是否在UI层中实现了INotifyPropertyChanged,因此在不同的层中具有相同对象的多个近克隆,或者我们是否在DA层中实现了INotifyPropertyChanged,从而为不涉及属性更改跟踪的层添加了不必要的复杂性。 p>
关注:
我在这种情况下的个人偏好是:
public class DaObject
{
public virtual string Value { get; set; }
}
// May or may not need a business object here. DA and UI may be enough.
public class BusinessObject : DaObject
{
// Business layer logic/validation here...
}
public class UiObject : BusinessObject, INotifyPropertyChanged
{
public override string Value
{
get { return base.Value; }
set
{
base.Value = value;
NotifyOfPropertyChanged(nameof(Value));
}
}
// INotifyPropertyChanged implementation here...
}
谢谢!