`
pascal4123
  • 浏览: 110824 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

大象读后感I

    博客分类:
  • OO
OO 
阅读更多

一直都想通过一个小册子来快速了解掌握OO设计方法学,但遍寻下来,一般都很厚,让人没有看的欲望

据说《大象》知名度颇高,看看。书不算薄,很多都是作者自己思考的产物。所以读来比较自然,容易理解,读的倒不慢。

 

选择面向对象还是面向过程

面向对象是为了通过提升抽象级别来降低目标系统的理解难度,而不是为了复用。这个很赞成,复用只是副产物之一。

 

“面向过程方法将世界看成是过程化的,一个个紧密相连的小系统,构成这个系统的各个部分之间有着密不可分的因果关系。”

说实话,我到现在也是持这种观点!

面向过程方法困难在于一旦现实发生变化,模型就容易发生很多的改动,难以重构。

 

面向对象方法无非是通过一种概念系统尽可能降低系统各部分之间的耦合性。其实这种思想也完全可以用在面向过程方法上。对象说白了,就是有限状态机而已。核心是状态。面向对象用不好,同样会难以重构。

 

对象分析方法

1.一切都是对象

一切有名字的东西都是对象,---有点过了,一个对象应该是有意义的状态

2.对象都是独立的

对象的独立性带来的正式对象的可抽象能力和可扩展能力 -- 独立永远是相对的

3.对象都具有原子性

永远不要打破边界去窥探对象的内部。不管多大的对象,与其他对象交互时就是一个整体,不能分割。

将对于对象的认识附加在对象边界上,在实现这个对象之前不理会内部的细节,这称之为面向接口编程。

---能不能面向过程+面向接口?

4.对象都是可抽象的

5.对象都有层次性

--- 这是降低理解系统的难度的关键所在。由此想到的是,状态机也有层次性。

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics