设计模式六大原则----------依赖倒置原则
发布时间:2020-12-13 23:12:31 所属栏目:百科 来源:网络整理
导读:设计模式总览 依赖倒置原则(Dependence Inversion Principle) 该原则规定: ①高层模块不依赖低层模块。两者都应该依赖抽象接口 ②抽象不能依赖具体。而具体应该依赖抽象接口 此原则的目的是为了实现解耦。 将依赖关系建立在高层,而低层用来做具体实现 。
设计模式总览
依赖倒置原则(Dependence Inversion Principle) 该原则规定: ①高层模块不依赖低层模块。两者都应该依赖抽象接口 ②抽象不能依赖具体。而具体应该依赖抽象接口
此原则的目的是为了实现解耦。将依赖关系建立在高层,而低层用来做具体实现。因为高层相对稳定,不会经常变动,而具体实现则会经常变动。
其实该原则,在现实生活中也经常用到。以电脑cpu来说,主板厂商定好cpu引脚接口,然后不同的cpu厂商按照此接口来生成cpu。这样对于用户来说,只需要买回cpu和主板,然后将cpu插入主板就行了,完全不用再去关心哪个厂的板子配哪个厂的cpu。在这里,cpu引脚插口就是oop中的抽象接口,cpu厂商按照此接口规则,生成出不同的“具体”cpu,每个型号的cpu就是一个“具体”。
案例分析: 妈妈给孩子读故事书。 class mother { public void Speek(Book book); } class Book { }OK,搞定了。但是小孩天天听故事书听烦了,现在心血来潮,要听报纸。这下问题来了,妈妈竟然只会读故事书,不会读报纸啊,这不科学!!! 上面一个简单的案例就反应出了依赖具体带来的隐患。下面看看依赖抽象如何实现: class IWords { } class mother { public void Speek(IWords book); } class Book : public IWords { } class News : public IWords { }OK,现在无论想听什么,只需要拓展相应的类(派生自IWords)就行了,无需去修改其他原有的类。(呀呀,无意间实现了一个《开闭原则》案例) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |