设计模式
- 状态模式 - 允许对象在内部状态改变时改变他的行为,对象看起来好像修改的他的类。
- 代理模式 - 为另一个对象提供一个替身或占位符以访问这个对象,可以对这个对象进行缓存,同步,权限管理等各项操作。
状态模式
这样设计的好处,我们就简化的很多功能的校验,因为可以直接在不同的状态类里进行状态校验,而不用像之前的传统做法一样,进行各种判断。后续增加新的状态对之前的代码变更也不大。
代理模式
这只是一种最基础的代理模式的类图,还有很多种类型的代理,比如:
- 权限代理
- 动态代理
- 缓存代理
- 智能引用代理
- 同步代理
- 复杂性隐藏代理
- 写入复制代理
等等不同的代理行为,他们的类图是基本类似的,他和包装类比较类似。