Android作为新一代的操作系统,集合着Google多少工程师的智慧结晶。各种新技术,老技术,在Android系统框架中得到了最完美的体现。
在以前做Web开发时就感觉什么SSH框架简直太棒了,写出这些框架的大牛太厉害了。里面的IoC思想真的令人心动。值得高兴的时,这些东西也都在Android中加以实现。下面我们聊聊对Ioc的理解。
IoC主要分为2步:
1.控制反转-反向控制。以往的开发过程中,都是应用程序去调用系统的接口方法,比如调用系统library,这种做法的特点是,控制权掌握在应用程序手中。而控制反转就是在系统框架中,已经定义好了具体的操作模式,应用只需要实现部分借口就可以,所以这个控制流程掌握在框架手中。
与反向控制相对的是正向控制,如子类调用父类的方法,实现类调用系统库函数等
举例:
android中的框架中ActivityThread等已经定义好了activity的生命周期函数的执行顺序,而应用程序做的就是给这些个生命周期函数进行实现填充,控制权掌握在android手中。
2.依赖注入。实现组件间关系从程序内部提到外部容器来管理。也就是说由容器在运行期将组件间的某种依赖关系动态的注入组件中。控制程序间关系的实现交给了外部容器来完成。
为了更好的理解依赖注入,下面通过例子说明下:
假设有两个类B 和 C:B作为调用者,C是被调用者。
一般的做法是:
public class B{
private C comp=new C();
......
}
如果用设计模式-工厂模式实现:
public class B{
private C comp;
private final static MyFactory myFactory = MyFactory.getInstance();
public B(){
this.comp = myFactory.createInstanceOfC();
}
public void someMethod(){
this.comp.sayHello();
}
}
使用Ioc依赖性注射实现:
public class B{
private C comp;
public B(C comp){
this.comp = comp;
}
public void someMethod(){
this.comp.sayHello();
}
}
这个就和模板模式有点类似,只是模板模式的使用范围有点窄而已。
通过以上例子应该很容易理解IoC机制的特点。
其实Android中还用到了很多设计模式,下面简单看看都有哪些及具体体现:
组合模式:
View和ViewGroup组合成树形结构表示部分-整体,其中view可以作为ViewGroup的一部分。
单例模式:
这种模式在Android中随处可见,如CalendarDatabaseHelper.java中就有。
职责链模式:
如触发的Touch事件的传递就是典型的职责链模式。
备忘录模式:
如ACTIVITY活动状态的保存和恢复就是采用备忘录模式的一个例子。
观察者模式:
观察者模式提供了ANDROD架构连接件的基础,在系统提供的广播组件及内容提供者组件、通知服务中以及视图控件和底层事件监听、UI事件输入等许多方面普遍采用。
在android中采用的模式还有很多,留待以后慢慢发掘。
分享到:
相关推荐
《Android 源码设计模式解析与实战》不仅分析了Android源代码的设计模式,更结合实例演示了如何使用这些设计模式。看这本书,既能学到如何分析、学习Android源代码,又能提高自己架构设计水平 《Android 源码设计...
Android源码设计模式解析与实战.PDF(完整版)
Android源码设计模式解析与实战 Android源码设计模式解析与实战 Android源码设计模式解析与实战 Android源码设计模式解析与实战 Android源码设计模式解析与实战 Android源码设计模式解析与实战 Android源码设计模式...
本书从Android源码的角度由浅入深地剖析设计模式的运用,让工程师们把设计与模式重视起来,提升自己的设计能力与代码质量。因此本书适合的读者为初、中、高级Android工程师。另外,设计思想都是相通的,其他领域的...
《Android源码设计模式解析与实战》PDF版本下载
Android框架浅谈
Android源码设计模式解析与实战
android的设计模式文档,里面详细解释了常用的8种设计模式
Android源码设计模式解析与实战 完整版 pdf
android 24种设计模式介绍与6大设计原则
详细讲解了组合模式、观察者模式、单例模式、模板方法模式、备忘录模式、享元模式、命令模式、工厂方法模式、适配器模式 原型模式等10个Android设计模式,和CSDN上其他讲Android设计模式的文章完全不同。讲解详细,...
Android源码设计模式解析与实战,详细讲解了设计模式在android源码上的应用,想在技术上进阶或阅读源码的同学或者想学设计模式的都可以试试
android经典设计模式诠释,不过是英文版,费了我很多心思才下载下来,肯定值得收藏。
高清彩版 Android源码设计模式解析与实战-高清版
Android源码设计模式解析与实战
android 源码设计模式,清晰度可以。源码讲解从浅入深,非常适合进阶学习
Android源码设计模式解析与实战.pdf+精彩绝伦的Android UI设计.pdf
要想成为android高手,必须要掌握android框架才能提高开发效率,掌握设计模式提高解决问题速度,代码更健壮,熟悉设计原则会使android开发性能更好
最新高清完整版 Android源码设计模式解析与实战