Android设计模式总结
1.复合模式:三层架构、MVC、MVP、MVVM
2.设计模式-单例模式
配置类的使用。
3.设计模式-模板方法
通过抽象类或接口提前定义要实现的方法。
4.设计模式-观察者模式
消息的通知。
5.设计模式-装饰模式:处于安全目的,保护被访问者
对一个已有的接口进行功能扩展。
如,继承父类,并增加扩展新的方法。
6.设计模式-策略模式
MVC中:
控制器是视图的策略。
视图只关心系统中可视的部分,对于任何界面行为,都委托给控制器处理。
控制器负责和模型交互来传递用户请求,对于工作是怎么完成的,视图毫不知情。
7.设计模式-工厂模式(Factory Pattern)、 控制反转(IoC)与依赖注入(DI)
简单工厂、工厂方法、抽象工厂。创建新对象。
8.设计模式-命令模式
支持撤销。
9.设计模式-适配器模式(Adapter)
adpater的使用。
10.设计模式-外观模式
如用一个spManager管理所有的sp对象获得的数据。
11.设计模式-桥接模式
将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化。
举例:汽车和公路问题。
12.设计模式-代理模式(委托模式、Proxy Pattern):动态扩充对象功能
传入对象,并调用对应的方法。如接口回调。
13.迭代器模式
Iterator。
14.组合模式(合成模式)
允许将对象组合成树形结构来表现“整体/部分”层次结构。树节点可以对子节点进行增删改查等操作。
View和ViewGroup就是一种很标准的组合模式。
15.状态模式
机器取糖果,允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。
16.生成器模式Builder Pattern
如AlertDialog.Builder。
17.责任链模式
经常被使用在窗口系统中,处理鼠标和键盘之类的事件。
18.蝇量模式Flyweight Pattern
19.解释器模式Interpreter Pattern
20.中介者模式Mediator Pattern
21.备忘录模式MementoPattern
当你需要让对象返回之前的状态时(例如:用户请求撤销操作),就使用备忘录模式
22.原型模式Prototype Pattern
23.访问者模式Visitor Pattern
Android设计模式总结的更多相关文章
- Android设计模式系列
http://www.cnblogs.com/qianxudetianxia/category/312863.html Android设计模式系列(12)--SDK源码之生成器模式(建造者模式) 摘要 ...
- Android设计模式(五岁以下儿童)--简单工厂模式
1.面试的时候问这个问题: 在ListView 的item小程序.很多不同的显示风格.或者是,为了更好地维护,不同的样式,应该怎么做? 我一下就想到的是工厂的模式,利用project,编写ViewFa ...
- Android 设计模式之MVC模式
说到Android设计模式的MVC模式,估计很多人都是比较熟悉了,这里深入了解一下MVC到底是怎么回事,以ListView为例子讲解. 一.深入理解MVC概念 MVC即Model-View-Contr ...
- 经常使用的android设计模式
一般来说,经常使用的android设计模式有下面8种:单例.工厂.观察者.代理.命令.适配器.合成.訪问者. 单例模式:目的是为了让系统中仅仅有一个调用对象,缺点是单例使其它程序过分依赖它,并且不 ...
- Android 设计模式一:EIT造型
前言:首先不提造型,我们先来学习公式. 思绪回到于十七世纪中,牛顿提出了简单公式:F=ma:让人们能轻易理解物体运动的复杂<关系>. 再如,于二十世纪初,爱因斯坦发表了简单公式:E=MC平 ...
- Android 设计模式 之 单例模式
http://blog.csdn.net/fangchongbory/article/details/7734199 目录(?)[+] 单例模式常见情景 首先实现1中的单例模式A 实现2中单例模式 ...
- Android 设计模式
简介 项目开发中发现问题.解决问题这个过程中会出现很多问题,比如重复出现.某个问题的遗留,这些问题的本质就是设计模式.今天记录设计模式的知识点. 内容 在java以及其他的面向对象设计模式中,类与类之 ...
- Android设计模式源码解析之桥接模式
模式介绍 模式的定义 将抽象部分与实现部分分离,使它们都可以独立的变化. 模式的使用场景 如果一个系统需要在构件的抽象化角色和具体化角色之间添加更多的灵活性,避免在两个层次之间建立静态的联系. 设计要 ...
- Android设计模式系列--观察者模式
观察者模式,是一种非常常见的设计模式,在很多系统中随处可见,尤其是涉及到数据状态发生变化需要通知的情况下.本文以AbstractCursor为例子,展开分析.观察者模式,Observer Patter ...
- Android设计模式系列--工厂方法模式
工厂方法模式,往往是设计模式初学者入门的模式,的确,有人称之为最为典型最具启发效果的模式.android中用到了太多的工厂类,其中有用工厂方法模式的,当然也有很多工厂并不是使用工厂方法模式的,只是工具 ...
随机推荐
- 机器学习——KMeans聚类,KMeans原理,参数详解
0.聚类 聚类就是对大量的未知标注的数据集,按数据的内在相似性将数据集划分为多个类别,使类别内的数据相似度较大而类别间的数据相似度较小,聚类属于无监督的学习方法. 1.内在相似性的度量 聚类是根据数据 ...
- 讲解:为什么重写equals时必须重写hashCode方法
一 :string类型的==和equals的区别: 结论:"=="是判断两个字符串的内存地址是否相等,equals是比较两个字符串的值是否相等,具体就不做扩展了,有兴趣的同学可以去 ...
- 8天入门docker系列 —— 第一天 docker出现前的困惑和简单介绍
docker出来也有很多年了,但用到的公司其实并不是很多,docker对传统开发是一个革命性的,几乎颠覆了之前我们传统的开发方法和部署模式,而大多 公司保守起见或不到万不得已基本上不会去变更现有模式. ...
- .net mvc前台如何接收和解析后台的字典类型的数据
很久没有写博客了,最近做了一个公司门户网站的小项目,其中接触到了一些我不会的知识点,今日事情少,便记录一下,当时想在网上搜索相关的内容,但是没有找到. 今天想记录一下这样一个小的需求的做法.先说一下我 ...
- 2019-01-20 JavaScript实现ZLOGO: 界面改进与速度可调
续前文JavaScript实现ZLOGO: 前进方向和速度 在线演示地址: http://codeinchinese.com/%E5%9C%883/%E5%9C%883.html 源码仍在: prog ...
- 数据库之redis篇(3)—— Python操作redis
虽然前面两篇已经说了redis的一些配置安装什么的,篇幅有点长,可能看完了也不知道怎么操作,这里再浓缩一下: 什么是redis redis完全开源免费的,遵守BSD协议,是一个高性能的非关系型key- ...
- 《SQL CookBook 》笔记-准备工作
目录 准备 1.建立员工表--EMP 2.建立部门表--DEPT 3.EMP表和DEPT表插入数据 4.建立透视表T1,并插入数据 5.建立透视表T10,并插入数据 第二章 shanzm 准备 1.建 ...
- gitbash安装与使用
1. 下载安装git (windows版) 网址:https://git-scm.com/download/win 点击for windows版本->下载 2. 点击exe文件安装,安装完成后打 ...
- 华为云.NET Core支持情况调查
各大公有云都提供了开发者开发的SDK,今天我们来看看华为云对.NET Core的支持情况怎么样? .NET SDK地址 https://developer.huaweicloud.com/sdk#.N ...
- 调研pwa和sw
概述 处于好奇,最近我调研了一下pwa和service worker,有些新的,记录下来,供以后开发时参考,相信对其他人也有用.pwa主要是通过service worker实现的,它主要包括桌面图标, ...