zoukankan      html  css  js  c++  java
  • 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接口的实现类。



  • 相关阅读:
    使用Dynamics 365 Diagnostics 来检查网络链接
    Dynamics 365 使用power apps 创建 Auto Number
    Dynamics 365 多语言配置
    在AAD 注册 API permission
    python学习笔记20:序列
    python学习笔记19:集合set
    python学习笔记18:字典dict
    python学习笔记17:列表list
    python学习笔记16:正则表达式
    python学习笔记15:通过字符串导入模块
  • 原文地址:https://www.cnblogs.com/yongfengnice/p/10418746.html
Copyright © 2011-2022 走看看