【设计模式】状态模式

OO基础

抽象

封装

多态

继承


OO原则

封装变化

多用组合,少用继承

针对接口编程,不针对实现编程

为交互对象的松耦合设计而努力

类应该对扩展开放,对改动关闭

依赖抽象,不要依赖详细类

仅仅和朋友交谈

别找我,我会找你

类应该仅仅有一个改变的理由


OO模式

状态模式——同意对象在内部状态改变时改变它的行为,对象看起来好像改动了它的类。


1. 状态模式同意一个对象基于内部状态而拥有不同的行为。

2. 和程序状态机不同,状态模式用类代表状态。

3. Context会将行为托付给当前状态对象。

4. 通过将每一个状态封装进一个类,我们把以后须要做的不论什么改变局部化了。

5. 状态模式和策略模式有同样的类图,可是它们的意图不同。

6. 策略模式一般会用行为或算法来配置Context类。

7. 状态模式同意Context随着状态的改变而改变行为。

8. 状态转换能够由State类或Context类控制。

9. 使用状态模式一般会导致设计中类的数目大量添加。

10. 状态类能够被多个Context实例共享。

原文地址:https://www.cnblogs.com/mengfanrong/p/4020554.html