OO进化论
作者:zfive5(zidong)
邮件:zfive5@yahoo.com.cn
现在的主流语言是OO的,但为什么我们选择OO呢,好在哪里? 更快,还是其它的?
这些年一路走来,唯一的体会就是程序更好的解耦,OO遵循”责任单一原则”,谁的责任谁负责,说到这里比较痛恨管理上的矩阵式管理,责任根本梳理不通,往往发生情况了,找谁都解决不了,互相推诿,看来这中管理方式的发明了真应该去学学OO, 忽然间发现这是在讨论哲学问题了J
在” 责任单一原则”方式上,分清楚了主次, 例如:我要吃面包,传统程序语言的表达如下;
吃(我,面包)
{
…..
}
将来我要吃饼…呢? 一堆堆吃方法,关键都是我在吃,还没有考虑其他物种的吃法呢?想起就是一部悲剧,这样的过程,此时此刻就在上演呢,只不过可能换成了”玩”.
在OO主谓宾的表达方式如下:
我.吃(面包)
{
….
}
我吃责任OK了,但将来为了将来吃饼,我们还是要变,为了适应这个变化,我们的引入了”间接原则”,这中思想不是OO特有的,只能是OO里面的抽象是这种思想的应用.最后把吃这件事继续改造如下:
我.吃(物)
{
….
}
往嘴里一放OK,具体怎么吃是我的责任,上帝不用再心了,同时由于物的引进,对吃进行了有效的封装,还有做到了解耦,但随后具体吃执行过程变成如下;
{
…
我.吃(new物[面包])
我.吃(new物[饼])
….
}
又一次悲哀了…
灵光一线
…
创建者模式上…