依赖抽象,不要依赖具体

这是OO设计中的一个原则。到底是什么破意思啊?笨笨地来理解一下吧: 抽——————抽出来的东西;象————————我不知道什么意思;可是能理解抽就OK了。 你叫我怎么说呢,这个东西,总之你不能把它想的很神秘,如果你把它想的跟神似的,你基本上就高攀不起了,它就是一种经验的总结 ,其它的什么玩意儿都不是。 我这个人比较笨,什么都得有例子才能玩的转,下面 就是一个例子啊: 时下喜欢小狗,小猫的人多了,开个宠物店肯定有的赚!在这里我就有个疑问了,为什么人们要开宠物店而不开个什么小狗店,小猫店什么的? 这个问题很牛,虽然比不上牛顿被砸时产生的问题牛,但是这毕竟是什么理解道路上的一环呀! 你要开个小狗店,那意思就说你只能卖小狗了,小猫店类似; 呵呵,现在我们站在顾客的角度去想想这个问题,顾客说,我想买个小狗,所以我要去宠误点店(而不是小狗店)!我知道狗就是宠物(你看我多聪明呀)! 分析分析: 现在顾客很显然他想买一只狗,但他却去了宠物店,很显然他依赖于宠物这个“”概念“”;而宠物店对大家宣传的是我这有宠物,而不是说宣传我这有狗或者猫; 这样就产生了一种效果:宠物店可以把任何可以称为宠物的东西(比如一只恐怖的大Python)放在店里卖;而顾客可以去宠物店去买任何它以为是宠物的小编(比如一只恐怖的大Python)。其实,这就是依赖倒置原则了:最上面的是宠物店,中间是宠物(概念级别),最下面是顾客。而宠物店和顾客都以来于宠物这个抽象的概念!

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...