面向对象设计原则之依赖倒置
2015-07-12 10:44
393 查看
依赖倒置要求我们要针对抽象层编程,而不是针对具体类编程。即我们通过接口或者抽象类来进行变量、参数和方法以及数据类型转换的声明,而不是通过具体的类。
其中的关键还是以抽象方式耦合。
通过实例构造方法将对象作为参数注入
2.设值注入
在接口中定义set方法来注入实例变量,在具体类中实现该方法并进行设值。
3.接口注入
直接实现方法,将对象写入方法中
依赖注入就是将一个类的对象传入到另一个类中,而在注入是尽量注入如雷对象,在具体程序运行时在通过子类对象来覆盖父类对象。
其中的关键还是以抽象方式耦合。
依赖注入的方式
1.构造注入通过实例构造方法将对象作为参数注入
[code]public interface AbstractBook { public void view(); } public interface AbstractReader { public void read(); } public class ConcreateReader implements AbstractReader{ private AbstractBook book; public ConcreateReader(AbstractBook book){ this.book = book; } public void read() { book.view(); } } public class ConcreteBook implements AbstractBook{ public void view() { //... } }
2.设值注入
在接口中定义set方法来注入实例变量,在具体类中实现该方法并进行设值。
[code]public interface AbstractBook { public void view(); } public interface AbstractReader { public void setBook(AbstractBook book); public void read(); } public class ConcreateReader implements AbstractReader{ private AbstractBook book; public void setBook(AbstractBook book) { this.book = book; } public void read() { book.view(); } } public class ConcreteBook implements AbstractBook{ public void view() { //... } }
3.接口注入
直接实现方法,将对象写入方法中
[code]public interface AbstractBook { public void view(); } public interface AbstractReader { public void read(AbstractBook book); } public class ConcreateReader implements AbstractReader{ public void read(AbstractBook book) { book.view(); } } public class ConcreteBook implements AbstractBook{ public void view() { //... } }
依赖注入就是将一个类的对象传入到另一个类中,而在注入是尽量注入如雷对象,在具体程序运行时在通过子类对象来覆盖父类对象。
相关文章推荐
- Hash表基本操作
- 并查集小结
- jquery.callback.js jq 回调
- ViewData与ViewBag
- 笔试——2015BAT实习招聘
- 1.5光源;环境光与雾
- c++类之继承与派生
- 伪指令ADR和LDR的区别
- WLLN(Weak Law of Large Numbers) DEMO
- javascript定时器小结
- Iptables 入门进阶
- HDU5280 Senior's Array(简单DP)
- LeetCode #14 Longest Common Prefix
- 黑马程序员——JAVA基础---常量与变量
- 利用python3 requests和BeautifulSoup4抓取百度贴吧研究生录取通知书并展示
- [LeetCode][Java] Longest Valid Parentheses
- test
- 1.4 调试程序
- 【POJ】 【3624】
- MySQL 备份与还原详解