Asp.netINotifyPropertyChangedonDomainObjects如果asp.net中的域对象实现了INotifyPropertyChanged并触发了propertysetter的PropertyChanged事件,会发生什么?我有一个用于Silverlight和WebForms系统的公共域层。为了获得silverlight的所有绑定魔力,域现在执行属性通知。我的webforms系统似乎没有受到影响(一切仍然有效),但我担心幕后发生了一些我不明白的事情。我可以创建一个特定于silverlight的域层来扩展原始域对象并覆盖属性以进行通知,但这是必要的吗?即我是否无缘无故地添加了一层额外的代码。用ComponentModel污染我的域确实感觉很丑陋。不会发生任何错误,但这不是最好的方法。我可以创建一个扩展原始域对象的特定于silverlight的域层,并覆盖属性以进行通知,但这是否有必要?即我是否无缘无故地添加了一层额外的代码。首先要指出的是,Silverlight中的UI不应绑定到域对象。实际上你的视图绑定到ViewModel并且这个ViewModel应该包含模型。界面模型!=DomainModel用ComponentModel污染我的域确实感觉很丑陋。如果在域模型中添加表示逻辑,那么业务逻辑层可能会变得混乱,并且由于它耦合到表示层,抽象就会丢失。想象一下,在2年内你转向另一个需要模型中特殊逻辑的Web框架,你会在业务对象中添加更多逻辑吗?在我看来,域模型应该与其他层隔离,并且不应依赖于技术(在本例中为Silverlight)我会添加一个新层,将您的域对象转换为Silverlight模型。这可能看起来像是一项开销,但这样一来,您的系统将通过清晰的隔离层变得干净。有一些工具可以帮助您轻松地完成此映射,例如AutoMapper如果没有人订阅此事件,则自引发以来什么也不会发生。服务器端ASP.NET应用程序不太可能订阅这些事件,这就解释了为什么什么都没有发生。以上就是C#学习教程:Asp.netINotifyPropertyChanged分享了领域对象上的所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。涉及侵权,请点击维权联系管理员删除。如需转载请注明出处:
