Android 设计模式 笔记 - 状态模式
来源:互联网 发布:买水果的软件 编辑:程序博客网 时间:2024/05/23 22:18
介绍
状态模式和策略模式几乎完全一样,但是他们的目的和本质却是完全不一样的。状态模式的行为是平行的且不可替换的,策略模式的行为则是彼此独立的,而且是可以相互替换的。即:状态模式把对象的行为包装在不同的状态对象里面,每一个状态对象都有一个共同的抽象状态基类。状态模式的意图是让一个对象再其内部状态改变的时候,其行为也要发生改变。
定义
当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了基类,其实没有,他的基类是一个抽象基类。
使用场景
- 一个对象的行为取决于他的状态,并且他必须在运行时根据状态改变他的行为,
- 代码中包含了大量与对象有关的条件语句,例如:if...else...或者switch....case...,并且这些分支依赖与该对象的状态。
角色
- Context:环境类,定义用户感兴趣的接口,维护一个state子类的实例,这个实例定义了对象的当前状态。
- State:抽象状态类或者状态接口,定义或者一组接口,表示该状态的行为。
- ConcreteStateA,ConcreteStateB:具体状态类,每一个具体状态类实现抽象State中定义的接口,从而达到不同状态的不同行为。
0 0
- Android 设计模式 笔记 - 状态模式
- Android 设计模式实战笔记 状态模式
- 《设计模式》笔记:状态模式
- 设计模式笔记-状态模式
- 设计模式笔记--状态模式
- 设计模式笔记:状态模式
- android 设计模式 状态模式
- Android设计模式-状态模式
- 设计模式笔记:状态模式&策略模式
- java/android 设计模式学习笔记(19)---状态模式
- Android设计模式学习笔记(状态模式)
- 设计模式笔记之---状态模式
- 设计模式学习笔记-状态模式
- 设计模式学习笔记(状态模式)
- 设计模式学习笔记-状态模式
- 设计模式学习笔记-状态模式
- 设计模式学习笔记-状态模式
- 设计模式学习笔记-状态模式
- Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)
- Android开发:从调试App在三星系手机上的拍照问题得到的普遍结论(真的是人人皆知的道理)
- IntelliJ IDEA 使用心得与常用快捷键
- Centos 6.4 yum安装最新版本elasticsearch
- 百度地图基础
- Android 设计模式 笔记 - 状态模式
- Java与React Native之间传递参数
- Python——1变量和数据类型(内含其他知识点链接)
- 自己瞎写的
- Centos6.5下安装mysql5.6
- 最大熵模型(第二次总结)
- informix数据库 java 增删改查
- RadioGroup
- mysql如何判断指定字段数据不重复