我的隐式生活(My Implicit Life)

继续搞“对象”,玩OO.

首页 新随笔 联系 聚合 管理
  11 Posts :: 1 Stories :: 39 Comments :: 0 Trackbacks

这几天瞄了几本设计模式的书,没有细看具体模式啦,而是老是琢磨那些深奥无比的话。这些话经常出现在计算机的书籍中,很有禅意,也有哲理。听说,高手就喜欢写点这样的话。

还有就是细心体味了一下OO的设计原则,这些原则是凌驾于模式之上的,也就是更宏观的原则。

其中,最高指导的一个就是“开-闭”原则。别的原则,里氏代换原则、依赖倒置原则、组合/聚合复用原则和迪米特法则都是为了达到“开-闭”原则而出现的规则。

这些原则告诉我很多东西,聚焦于一点就是要“面向抽象”来做一切事情。

分析对象的时候,要多分析设计“抽象”的概念,对象之间的联系要多基于抽象的概念而不是具体,这样具体才能能够变化,这样才是开闭。用我自己的话就是要“游走于 抽象”。

这里有一个我必须记住的就是,在封装变化时候,多用聚合/组合,少用继承。在封装原子变化并且是同类型对象时才用继承,别的都尽量用聚合/组合。而且尽量不要用多级继承,多级继承一般意味着有两种变化脉络,可能的话,让两种变化脉络独立演化。很明显,一独立演化,又要聚合/组合了。

还有一个必须记住的是:运用抽象以后,客户端的使用发生了巨大的变化。不再是指那儿用那儿。而是要做更多的准备工作,因为运用抽象,本身就把具体“组合”的职责推迟到使用的阶段。那谁使用,肯定是客户端。所以,客户端的使用要革新。要习惯用工厂,习惯把一系列的抽象定具体了,并按照一定方式“组合”起来用。而且,最终要善于用接口来调用方法。

用小飞推荐的一个工具画了个图,如下:
o_好的OO思想.jpg

                       MARCO ZHANG 2006年2月27日7:18:57

posted on 2006-02-27 07:40 marco 阅读(853) 评论(4)  编辑  收藏 所属分类: -=Design Pattern=-

Feedback

# re: OO设计原则体会 2006-03-24 22:17 marmot
老大,图是用什么工具画的,很漂亮的  回复  更多评论
  

# re: OO设计原则体会 2006-03-25 17:02 marco
一种叫mindManager的工具。

这种图叫mind map,可以称为思维图。

用来构思总结东西很棒,很棒。

现在用这个东西用上瘾了。

推荐你使用,网上一搜都有。  回复  更多评论
  

# re: OO设计原则体会 2006-03-26 03:45 marmot
下载了,真的很棒  回复  更多评论
  

# re: OO设计原则体会 2006-10-18 15:19 123bingbing
增开7群,号码 30440732
8群 30756649
9群 30178567
10群 28694497

我们的qq群:15096318 学习程序的都可以来
  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: