日期:2014-05-20  浏览次数:20964 次

什么情况下使用依赖属性?实体类的属性都设计成依赖属性吗?
看了刘铁猛的《深入浅出WPF》对依赖属性有了一定的了解,但不知在何种情况下使用它

------解决方案--------------------
探讨
在设计实体类的时候是不是应该都设计成依赖属性呢

------解决方案--------------------
不同的类型成员属性之间有关联或者依赖时就可以用到
像常见的主订单-订单明细(1:N)就可以用到,通过主订单直接取得关联的订单明细(延迟加载),进一步简化实体集的调用与筛选


------解决方案--------------------
首先你要了解一个对象(类)有那么庞大身躯,其目的是为了什么。假设你要用你自己东西与它看齐(继承于它的模型),那么就靠首先考虑面向对象的基本原则,例如你想表达:你的实体本来就是一个DependencyObject,也就是说你在写代码之前、考虑你的测试目的时就明确地规划好用将来要你的实体带入原来的“刘铁猛先生给你展现的那个概念”的实际流程中去测试。

你不能为了省得写一点代码,而胡乱继承一个看似很时髦、很多功能的概念。假设你的实体并不是DependencyObject,那么就不要继承它。不能因为个别操作有一点像、可以借用一点,就滥用继承。否则你就会在进一步使用、扩展、深入时尝到滥用继承为思路和沟通带来的恶果。就好象一个汽车它自己不是建筑物,仅仅因为它自己也有一些管道,如果你硬说一辆汽车也是一幢建筑物,那么你在真正全面使用汽车时就会遇到很多尴尬,你需要处处向别人说明“汽车在哪些方面不是建筑物”,这就自相矛盾了。

你可以在自己的某些程序流程中调用某些DependencyObject(例如所有界面控件都是),同时也调用自己的实体。但是你自己的实体就是进行简单、轻量的通讯的,它不过是一些简单数据,它本身不是DependencyObject,在设计对象(类)之间的关系时不要随随便便继承那些不相干的概念。
------解决方案--------------------
是中国人写的书 我就不说什么了

你怎么也该把<WPF Unsheald> 读了再来说啊


依赖属性什么时候用?极端点只在ViewModel或者是View层才能使用,Model层的数据实体 应该使用轻量级的CLR属性