ioc spring技术手册学习
来源:互联网 发布:gitv电视直播软件 编辑:程序博客网 时间:2024/04/27 21:05
BOB大叔书中依赖倒置原则:
1.高层模块不应该依赖低层模块,二者都应该依赖于抽象。
2.抽象不应该依赖于细节,细节应该依赖于抽象。
之所以称之为‘依赖倒置’是相对传统的过程式编程而言,依赖关系结构被倒置了。
public class Business{
private FloppyWriter writer = new FloppyWrite();
...
public void save{
...
Writer.save();
}
}
此时Business类就依赖于具体的低层模块FloppyWriter ,如果要改变存储介质为usb则必须修改Business。
介于“高层模块不应该依赖低层模块”,程序修改如下:
public interface DeviceWriter{
void save()
}
class UsbDeviceWrite implements DeviceWriter{
void save(){
...
//save to usb device;
}
}
class FloppyDiskWrite implements DeviceWriter{
void save(){
...
//save to floppy disk device;
}
}
public class Business{
private DeviceWriter writer = new FloppyWrite();
public void setDeviceWriter(DeviceWriter dw){
this.writer = dw;
}
...
public void save{
...
writer.save();
}
}
可以看到无论低层的存储如何变化,Business都不要修改。此时就是Business(高层模块)和UsbDeviceWrite 、FloppyDiskWrite(低层模块) 依赖于抽象(DeviceWriter接口)。您也可以编写一个配置管理程序,由xml或.property文件来更改配置,连setDeviceWriter方法都不要写。事实上spring核心容器就提供了这样的配置管理的功能。
- ioc spring技术手册学习
- ioc spring技术手册学习
- spring技术手册阅读笔记(一 ) 认识IOC
- spring技术手册阅读笔记(一 ) 认识IOC
- spring 技术内幕--IOC
- spring IoC学习 ------IoC基本概念
- 《spring技术内幕》学习(二)ioc容器实现
- Spring IoC学习笔记
- Spring学习-------IOC
- Spring Ioc学习(一)
- Spring Ioc学习(二)
- spring ioc学习
- Spring IOC 源码学习
- Spring学习-IOC容器
- Spring 学习之 IOC
- spring Ioc 的学习
- spring学习之Ioc
- Spring学习之IOC
- 用三个下拉显示日期
- 【转】电信重组 要了小灵通的命?
- DCOM当中保证异步作业不因远端COM客户断开而中止的解决方案(Delphi)
- ioc spring技术手册学习
- UserActivityHook.cs
- ioc spring技术手册学习
- 项目经理的工具箱---走出软件作坊:三五个人十来条枪 如何成为开发正规军(三)
- ON_COMMAND_RANGE用法
- 项目经理两天要做的事
- 总结必须学习的10项.NET技术
- 所谓时光,所谓爱
- Happy, Today
- 所谓时光,所谓爱
- 垃圾信息统治 Craigslist