IT之道-艾锑知道

您当前位置: 主页 > 资讯动态 > IT人物 >

能搞懂本质是什么


2012-10-31 18:03 作者:han

能搞懂本质是什么

我们在运用面向对象技术的时候,是用类概念从内部结构,行为来运用,来设计实现计算逻辑。

有很多的时候我们不能准确把握一个事物的本质,可能就是光从一个角度来看问题。既然从内部看了也实践了,那么现在就可以从外部角度来观察事物。对象有它的环境,在环境中分工合作,这个就像我们的现实社会,人与人之间,人和大自然都是分工协作,和谐共处的。

话题扯远了,再回到我们的程序世界中,假如有一天我们要去社区办个什么事情,去影院看个什么电影等等这些都可以抽象,建立一个模型,我们去社区办事,电影院看电影都是去享受服务的,把这些服务的提供者都抽象到程序世界中,就可以用类来表示同时提供办事、看电影等行为。社区办事,影院看电影这两个风 马牛不相及的事情,在程序世界可以抽象成两个提供不同服务的对象。从契约的角度,任何实现了这些服务的对象,都需要履行服务契约,从对象外部来讲我们是不需要知道这些对象内部的,也就是我去办事情,看电影,关键不是在什么地方能够把握解决这些问题,而是什么服务能提供给我以完成目的。

试想有一天去看电影的同时也能把社区办事的给解决了。那么就不能光光用类这个抽象事物来表示和思考,另外还有一个东西在设计模式中没有明显提到的,就是几乎每种模式里面都有两个层次,一个就是Abstract层次,一个就是Concrete层次。说白了就是对象的上面还有一个接口的东西,这里暂且不论InterfaceAbstract Class的区别。这个时候想想那句“优先使用组合”的锦囊妙计,那么既能办事又能看电影的超级英雄便能应运而生,当然在分析的时候我们不需要具体知道这个到底是什么地方来提供这些服务的,只需要设计办事和看电影两个接口就可以了,至于谁来实现这个服务,I dont care.

相关文章

IT外包服务
二维码 关闭