您的位置:首页 > 其它

[笔记]OO真经——关于面向对象的哲学体系及科学体系的探讨

2015-10-24 17:59 483 查看
原文链接:http://kb.cnblogs.com/page/45954/3/

二、中

》》程序世界与现实世界第一点区别:现实世界的依赖以对象为单位,程序世界的依赖以类为单位。

》》程序世界里的对象没有选择权。

》》程序世界里的对象不认识对象。

》》所谓低耦合,就是先剥夺对象的选择权,再剥夺对象的感觉。对象间谁也不认识谁,只知道对象能提供什么服务。

》》有奶就是娘:上升到哲学层面,是说这么一个意思:不以其他对象实体本身为交互准则,而以其他对象的行为作为交互准则,与一个对象是否进行交互纯粹是从其行为判断,而不对对象本体有任何概念。

》》接口(Interface):对象行为的抽象。

》》大多是因为朋友们已经习惯了学习一个东西时,只看其什么样子?怎么用?而不习惯于弄清楚一个东西起源于哪?出现的动机是什么?其实,要想学好、用好任何一个东西,后两个问题更关键一些。

》》任何东西用得好不好,不在于是不是熟练掌握用法,而在于是不是用对了地方。而要想用对地方,就要弄清楚这个东西的“怎么出来的”和“出来是做什么用的”。例如:用不用得好吹风机,不在于是否熟练掌握开开关关,而在于是不是用它吹头发

》》类与接口的不同点有以下几点:
      I. 抽象范畴不同。类是对象“体征”的抽象,接口是对象行为的抽象。
      II. 抽象动机不同。抽象出类是为了帮助记忆、认识世界,抽象出接口是为了实现低耦合交互。
      III. 关注不同。类关注共同的体征,接口关注用来交互的行为。
      IV. 存在范畴不同。类存在于抽象层次树上,接口存在于接口网。
      V. 应用范畴不同。类应用于结构范畴,是静态概念,接口应用于运作范畴,是动态概念。

》》接口和类有什么区别:通俗说来,类是从对象实体的的体征范畴上抽象出来的,用来帮助我们记忆、分析世界不同的对象,主要表明对象“什么样子”;而接口是从对象交互时需要的行为中抽象出来的,关注对象交互时需要的行为。

》》接口的哲学意义:对客户类的保证,对服务类的约束。

》》依赖倒置原则(DIP):客户类和服务类都应该依赖于抽象(接口),并且客户类拥有接口。

》》依赖注入就是容器挑选符合接口的服务类为客户类提供服务。例如,上面司机要一个可驾驶的东西,容器就会根据既定规则选择一个,可能是飞机、可能是汽车、也可能是轮船,交给司机。司机驾驶就行了,不用管是什么,反正知道这东西肯定实现了“可驾驶”接口。

》》一个符合OO原则的、低耦合的程序世界的运作形式是这样的:首先参与运作的本质只有对象,对象不直接依赖,没有选择权,互相不知道,而只知道各个接口。客户类制定接口,对象间通过接口交互,形成运作。世界的统治者依赖注入容器决定选择哪个服务类给客户类使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面向对象