android常用设计模式的理解

第一天:
1.单例模式singleton:依赖关系   定义:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。   原理:将构造函数私有化,并且通过静态方法获取一个唯一的实例。   参考:LayoutInflater类,通过map缓存单例,单例实现方式之一。
2.构建者模式builder:聚合关系   定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。   原理:一个类有很多属性,各属性是否设置或者设置调用顺序不同,会产生了不同的结果。   参考:AlertDialog.Builder类,通过builder设置属性和构建对象。
3.子系统外观模式facade:关联关系   定义:一个子系统的外部与其内部的通信必须通过一个统一的对象进行。   原理:对多个子系统封装统一的对外接口Facade,外部只能通过这个接口与子系统交互。   参考:ContextImpl类,封装了PackageManager、ResourceManager等子系统。
4.方法模板模式template:泛化关系   定义:父类定义一系列方法步骤实现算法,子类可以重载某些方法重定义该算法的某些特定步骤。   原理:子类继承父类,子类根据自己的需求重载父类的某些方法。   参考:AsyncTask类,execute方法封装了onPreExecute, doInBackground, onPostExecute这个算法框架。

第二天:
5.策略模式strategy:实现关系
  定义:同一类型问题的多种处理方式分开实现,每种方式有各自特有的操作。
  原理:同一抽象类有多个实现子类,又需要if-else或者switch-case来选择这些子类。
  参考:动画插值器Interpolator接口的实现类。
6.代理模式singleton:关联关系
  定义:给某一个原对象提供一个代理对象,并由代理对象控制对原对象的引用。
  原理:代理对象持有原对象,一般用于扩展、拦截等操作之后再调用原对象的方法。
  参考:android的IBinder接口的实现类。



 

posted @ 2019-02-22 15:39  yongfengnice  阅读(211)  评论(0编辑  收藏  举报