WPF学习(三) - 依赖属性
2015-06-20 19:43
218 查看
学习WPF时,我在看一本叫做“深入浅出WPF”的书。整整20页都在讲依赖性性和附加属性,反复看了几遍居然还是不懂,真是郁闷。
上一篇中WPF绑定的例子,其实已经用到了依赖属性。
虚伪的类、虚假的属性
调用PropertyContainer.GetValue方法,传入实例和属性名,读、写这个实例对应的属性值,似乎可以用了呢。其实,这就是在骗人,我从来就没有真正的读/写过这个实例的属性值(如果他真的是那种传统意义上的类和属性实例化出来的),我一直在用一个替身保存我想保存在属性字段中的值。甚至于,这个实例所在的类根本就没有这个字段。
明白这些的时候,十分怒火。用了这么多年的面向对象,如今,类的属性不再需要定义字段去存储,它们在运行时被归拢到一堆,放在一口锅里。对象已不再是那个对象,它可以只保留那12个字节,刷个存在感。类与类之间还有关系吗?对象与对象之间还有关系有吗??!!!还设计什么架构,还搞什么数据结构。随便定义个空类,运行去吧,想添啥属性随意添。
曾经有个小朋友,这样设计数据表结构:表名、字段名、记录编号、字段值,还很沾沾自喜的向我炫耀自己设计了一个通用的表结构。我一巴掌抽过去,科班出身的人把数据结构学到狗身上去了!如今,微软一巴掌抽回来,这么任性的结构,.net也要用,咋地吧!!!
怒了,今天就到这……
上一篇中WPF绑定的例子,其实已经用到了依赖属性。
public class CheatClass { public string CheatProperty { get { return (string)PropertyContainer.GetValue ( this, "WhatEverName" ); } } }
虚伪的类、虚假的属性
调用PropertyContainer.GetValue方法,传入实例和属性名,读、写这个实例对应的属性值,似乎可以用了呢。其实,这就是在骗人,我从来就没有真正的读/写过这个实例的属性值(如果他真的是那种传统意义上的类和属性实例化出来的),我一直在用一个替身保存我想保存在属性字段中的值。甚至于,这个实例所在的类根本就没有这个字段。
明白这些的时候,十分怒火。用了这么多年的面向对象,如今,类的属性不再需要定义字段去存储,它们在运行时被归拢到一堆,放在一口锅里。对象已不再是那个对象,它可以只保留那12个字节,刷个存在感。类与类之间还有关系吗?对象与对象之间还有关系有吗??!!!还设计什么架构,还搞什么数据结构。随便定义个空类,运行去吧,想添啥属性随意添。
曾经有个小朋友,这样设计数据表结构:表名、字段名、记录编号、字段值,还很沾沾自喜的向我炫耀自己设计了一个通用的表结构。我一巴掌抽过去,科班出身的人把数据结构学到狗身上去了!如今,微软一巴掌抽回来,这么任性的结构,.net也要用,咋地吧!!!
怒了,今天就到这……
相关文章推荐
- static_cast 和 dynamic_cast 的区别
- jQuery.extend 函数详解,一般用于封装JQ插件
- 服务器集群架构的设计与选择
- 8.14~8.15
- 谈谈自已对dbcp连接池的认识
- 牛腩新闻发布系统(1)——浅入浅出SQL触发器
- 自己实现基于key-value的NoSQL数据库(二)—— 改进存储方式和查询修改函数
- hdu2639 Bone Collector II
- STL学习总结
- php json_decode
- 一个前辈写的网络协议学习方法
- 感想
- sgu277:Heroes(动态凸包)
- [leetcode] Letter Combinations of a Phone Number
- 动漫人物之七大罪:ディアンヌ Diane 戴安娜 CV 悠木碧
- 2015年大一下项目3-max带来的冲突
- 《开源框架那点事儿17》:与屈原对话及开源精神
- 利用MegaWizard Plug-In Manager工具配置时钟频率
- 新手学cocos2dx,centos7下的安装过程
- leetcode--Bitwise AND of Numbers Range