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社群近来掀起了一阵轻量级容器的热潮,这些容器能够帮助开发者将来自不同项目的组件组装成为一个内聚的应用程序。在它们的背后有着同一个模式,这个模式决定了这些容器进行组...
  • csf993981061
  • csf993981061
  • 2014年04月22日 16:22
  • 1422

设计模式之一----依赖注入

1,为什么会有依赖注入的设计模式? public class PersistenceManager{ public void store(Object object){ DataSource data...
  • duchao123duchao
  • duchao123duchao
  • 2015年07月20日 18:11
  • 771

angularjs 依赖注入3种写法

笔记记录 显示注入,代码过长,不容易阅读,代码压缩不出错 app.controller('PhoneListCtrl', ['$scope', '$http', function($sco...
  • nnl_N
  • nnl_N
  • 2017年04月24日 15:01
  • 135

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

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

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

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

Java的依赖注入(控制反转)

两个主角“依赖注入”和“控制反转”: 1、二都说的都是同一件事,只是叫法不同。是一个重要的面向对象编程的法则,也是一种设计模式; 2、英文原称:依赖注入,Dependency Inject...
  • xiangzhihong8
  • xiangzhihong8
  • 2016年06月18日 23:26
  • 4475

浅析android中的依赖注入

这几年针对Android推出了不少View注入框架,例如ButterKnife。我们首先来了解一下使用这些框架有什么好处,其实好处很明显:它可以减少大量的findViewById以及setOnClic...
  • u013320868
  • u013320868
  • 2017年02月08日 15:59
  • 1695

Android快速依赖注入框架Dagger2使用1

一、啥是Dagger2前面的概念可能开始看不懂,给点耐心,看到例子就懂了。 本篇文章需要注解方面的知识,不了解的可以先看:http://blog.csdn.net/niubitianping/arti...
  • niubitianping
  • niubitianping
  • 2017年03月08日 18:22
  • 2444

android——框架的实现系列(依赖注入的实现)

原创文章,转载注明出处          从web开发转入andorid开发,苦于没有框架不习惯,自己动手搭建简单框架。该系列框架将提供spring的依赖注入,mybatis的半自动化映射,sql管...
  • guduyishuai
  • guduyishuai
  • 2017年02月09日 14:17
  • 287

android依赖注入注解的实现

android依赖注入,注解功能,本demo实现view注入,点击事件注入. 首先实现两个注解类: @Retention(RetentionPolicy.RUNTIME) @Target(Elemen...
  • cengdong
  • cengdong
  • 2017年04月01日 15:06
  • 699
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android设计模式-----依赖注入
举报原因:
原因补充:

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