本章是对5.3节的一个总结,便于日后复习
这一节主要讲了基于状态的构造技术和基于语法的构造技术。
1.基于状态的构造技术
根据当前状态,决定下一步要执行什么操作、执行操作之后如何转移。
1.1 基于自动机的编程
思想:把程序看做是一个优先状态自动机,对“状态”和“状态转换”进行抽象和编程
方式:将IXUS的执行分解为一组自动执行的步骤,各个步骤之间的通讯通过“状态变量”来进行,把程序的执行看做事各自动步骤的不断循环。
Tips:可以使用枚举类型或其他数据结构去定义状态,对于状态转移表,一般使用二维数组。
应用场景:
- 有高度可信赖性的系统(比如军事系统,航空系统等)
- 手机系统
- 网络应用
…
2)状态模式(State Pattern)
1.背景:
当一个对象总是处于一些已知状态之中时。
对象的状态决定着这个对象的方法的行为(可用方法据状态而改变)。
在每个方法中不好用if-else去判断状态(不利于日后扩展和修改)。
2.描述</