【转】依赖抽象,不要依赖具体

转载http://blog.csdn.net/cnweike/article/details/6178671

这是OO设计中的一个原则。到底是什么意思啊?一起来理解一下吧:


你叫我怎么说呢,这个东西,总之你不能把它想的很神秘,如果你把它想的跟神似的,你基本上就高攀不起了,它就是一种经验的总结 ,其它的什么玩意儿都不是。

我这个人比较笨,什么都得有例子才能玩的转,下面 就是一个例子啊:

时下喜欢小狗,小猫的人多了,开个宠物店肯定有的赚!在这里我就有个疑问了,为什么人们要开宠物店而不开个什么小狗店,小猫店什么的?

这个问题很不错。

你要开个小狗店,那意思就说你只能卖小狗了,小猫店类似;

呵呵,现在我们站在顾客的角度去想想这个问题,顾客说,我想买个小狗,所以我要去宠物店(而不是小狗店)!我知道狗就是宠物(你看我多聪明呀)!

分析分析:

现在顾客很显然他想买一只狗,但他却去了宠物店,很显然他依赖于宠物这个“”概念“”;而宠物店对大家宣传的是我这有宠物,而不是说宣传我这有狗或者猫;

这 样就产生了一种效果:宠物店可以把任何可以称为宠物的东西(比如一只恐怖的大Python)放在店里卖;而顾客可以去宠物店去买任何它以为是宠物的东东 (比如——鳄鱼)。其实,这就是依赖倒置原则了:最上面的是宠物店,中间是宠物(概念级别),最下面是顾客。而宠物店和顾客都以来于宠物 这个抽象的概念!

原文地址:https://www.cnblogs.com/wdw31210/p/3824072.html