依赖倒置原则
来源:互联网 发布:网络平台名誉侵权案例 编辑:程序博客网 时间:2024/05/04 06:27
依赖倒置原则
依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。百度百科
为什么会出现这个原则呢?
QTMD~!
所有的一切都源于变化,现在ORM足够强大了,看一下他的源码也会发现,工厂、接口的使用都是为了更好的扩展。
举个简单的例子
你的老师让你写了一个“猪”类,实现了他的移动方法,代码如下
public class Pig{ public void Move(){ console.write("在田野间奔跑"); } } public class Client{ public void Main(Pig p){ p.Move();//output 在田野间奔跑 } }
第二天你上交了作业,老师看见点点头,做的好(鬼知道是在夸你还是在说反话),现在你在给我写一个“大雁”,“鱼”类,并且实现Move方法。
当然你看到这个觉得都是小事一桩,你开始Copy Pig类,之后你发现你的客户端只认识Pig类,如果要调用其他的那么需要修改Client,这就违反了开放关闭原则,那么怎么办呢?
改变Client的依赖,不再依赖Pig,而是依赖接口,依赖抽象类。
那么我们修改一下这个代码:
interface IAnimal { Move();}public class Pig:IAnimal { public void Move(){ console.write("在田野间奔跑"); } }public class Fish:IAnimal { public void Move(){ console.write("在大海里畅游"); } }public class Client{ public void Main(IAnimal a){ a.Move();//output 取决于实现类的实现方法 } }
这就OK啦~!
ps:依赖倒置原则重点在与依赖,先不要喷,针对这样的接口抽象的概念很多,但是通过这个栗子我们能够看到,重点在于处理依赖对象的思想。
0 0
- DIP依赖倒置原则
- 依赖倒置原则
- 依赖倒置原则
- 依赖倒置原则
- 依赖倒置原则--DIP
- 关于依赖倒置原则
- 依赖倒置原则--DIP
- 关系依赖倒置原则
- 依赖倒置原则
- 依赖倒置原则
- 依赖倒置原则
- 依赖倒置原则
- 依赖倒置原则
- 依赖倒置原则
- 依赖倒置原则
- 依赖倒置原则
- 依赖倒置原则
- 依赖倒置原则
- html5里的canvas
- 详解Java的四舍五入与保留位
- qt mac no such sysroot directory: MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk
- 学习目录
- 利用myeclipse自动生成hibernate实体类
- 依赖倒置原则
- 面试JavaScript常用 问题
- 12期 3月期刊自荐
- CSS3的选择器
- HBase1.2.4网络彻底瘫痪,怎么样关闭服务呢?一台一台关闭吗?Hadoop的dataNode是否受影响!!
- Spark on Yarn集群搭建
- 彻底解决springMVC无法接受日期类型参数
- c++简记—程序设计基本要素
- 关于根文件系统挂载好的文章链接