读1.2章,开闭原则的时候,看到了‘依赖注入’这个词语。
依赖注入,我的理解,就是定义个接口,让调用方设置对象进来,这样可以解耦。
书中的例子就是,有一个ImageLoader类,它可以加载内存中缓存的图片,也可以加载SD卡中缓存的图片,也可以即加载内存也加载SD卡,或者自己定义。使用什么方式就是由调用方控制的。
class ImageLoader{
IImageCache mImageCache;
public void setImageCache(IImageCache imageChace){
mImageCache = imageCache;
}
}
IImageCache是一个缓存图片的接口,声明了get(),put()方法。MemoryCache,DiskCache都是继承IIMageCache接口的类。
调用的时候可以
new ImageLoader().setImageChace(new MemoryCache());
或
new ImageLoader().setImageChace(new DiskCache());
或
new ImageLoader().setImageChace(new IImageCache(){
public void get(){
//...
}
public void put(){
//...
}
});
网友评论