Android设计模式-----依赖注入

原创 2015年11月17日 22:27:43

当我们需要根据不同的条件创造不同的对象时,首先想到的也许是不断的像代码中加入if判断
例如:

//每个缓存类中都有一个取到图片的方法
ImageCache imageCache=new ImageCache();
MemeryCache memeryCache=new MemeryCache ();
DoubleCache doubleCache=new DoubleCache();
public void displayImage(final String url,final ImageView imageView){
Bitmap bitmap;
   if(从内存中拿图片){
      bitmap=memeryCache.getBitmap();
      }
   else if(从硬盘中拿图片){
      bitmap=imageCache.getBimap();
}else if(。。。){
      bitmap=doubleCache.getBitmap();  
  }
}
}

这是一种可行的方法,但是考虑当我们有多中条件时呢?就会产生多种缓存对象,并且出现多种判断。
避免这类情况的出现,可以通过依赖注入的方式。
1.创建一个接口,将共同的方法提前出来
2.父类的引用指向子类对象
3.提供注入接口

例如:

public interface ImageCache{
 public Bitmap getBitmap(String url);
 public void setBitmap();
}
public class MemeryCache implements ImageCache(){。。。}

public class DiskLruCache implements ImageCache()


public class ImageLoader{
  ImageCache mImageCache=new MemeryCache();
  //注入缓存
  public void setCacheMay(ImageCache cache){
   this.mImageCache=cache;
}
 public void displayImage(String path){
  Bitmap bitmap=mImageCache.getBitmap(图片路径);
  //开启线程下载图片
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

控制反转和依赖注入的设计模式

控制反转和依赖注入模式 Java社群近来掀起了一阵轻量级容器的热潮,这些容器能够帮助开发者将来自不同项目的组件组装成为一个内聚的应用程序。在它们的背后有着同一个模式,这个模式决定了这些容器进行组...

PHP 依赖注入 (设计模式)

首先依赖注入和控制反转说的是同一个东西,是一种设计模式,这种设计模式用来减少程序间的耦合,鄙人学习了一下,看TP官网还没有相关的文章,就写下这篇拙作介绍一下这种设计模式,希望能为TP社区贡献一些力量。...
  • wab5168
  • wab5168
  • 2014年09月15日 01:08
  • 717

PHP经典设计模式 - 依赖注入

依赖注入的实质就是把一个类不可能更换的部分和可更换的部分分离开来,通过注入的方式来使用,从而达到解耦的目的。一个数据库连接类:class Mysql{ private $host; priva...

244 设计模式 -- 行为型 -- 依赖注入

这是之前我写在公司的jira上的关于设计模式的分享,后面会陆续转过来一些不涉及业务的其他文章。 定义 依赖注入(DI),或者控制反转(IOC),可以帮助我们开发出松散耦合的程序,以下sta...

设计模式 - 依赖注入(Dependency Injection)

1.前言 在软件工程领域,依赖注入(Dependency Injection)是用于实现控制反转(Inversion of Control)的最常见的方式之一。本文主要介绍依赖注入原理和常见的实...
  • chimomo
  • chimomo
  • 2017年10月24日 10:23
  • 117

Yii2.0 设计模式 - 依赖注入 Dependent Injection

前言:这是我第二个博文说到DI,IOC,上次说的是spring实现DI的一个方式。今天要说的是Yii2.0 实现的DI,实际上有很多相同之处。在实现解析依赖的时候,都采用了反射的思想。(何为反射?如果...

[李景山php] 依赖注入和设计模式

什么是依赖注入?IOC:英文全称:Inversion of Control,中文名称:控制反转,它还有个名字叫依赖注入(Dependency Injection,简称DI)。当一个类的实例需要另一个类...

实战设计模式——使用IoC模式(控制反转或依赖注入)实现松散耦合设计(1)

1,关于IOC模式  先看一些名词含义: IOC: Inversion of control 控制反转,简称 DI: Dependency Injection 依赖注入,简称 ...

[.net 面向对象程序设计深入](26)实战设计模式——使用IoC模式(控制反转或依赖注入)实现松散耦合设计(1)

1,关于IOC模式  先看一些名词含义: IOC: Inversion of control 控制反转,简称 DI: Dependency Injection 依赖注入,简称 ...

(随记四)Android设计模式解析与实战_面对对象六大原则之依赖倒置原则

(随记四)Android设计模式解析与实战_面对对象六大原则之依赖倒置原则 : 让项目拥有变化的能力 定义 : 依赖倒置原则指定了一种特定的解耦形式,使得高层次模块不依赖于低层次模块的实现细节 关键点...
  • yitao_
  • yitao_
  • 2016年12月16日 18:57
  • 175
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android设计模式-----依赖注入
举报原因:
原因补充:

(最多只允许输入30个字)