5.3面向可维护性的构造技术

1基于状态的编程
使用有限状态机来定义程序的行为、使用状态来控制程序的执行
(1)基于自动机的编程
程序执行可看做各自动步骤不断执行,常使用二维数组定义状态转换表。
2状态模式
最好不要使用if/else结构在ADT的各方法内部根据状态决定行为(考虑将
来的扩展和修改)——状态模式
允许在运行时修改对象的行为或状态,每个行为(一组方法构成)用一个状
态类表达
5.3面向可维护性的构造技术
(3)备忘录模式
记住对象的历史状态,以便于“回滚”
5.3面向可维护性的构造技术

二基于语法的构造
使 用grammar判断字符串是否合法,并解析成程序里使用的数据结构
1语法
1链接 x ::= y z
2重复 x::= y*
3选择 x::= y|z
*? +优先级最高,连接次之,| 最低
4?表示0或1次出现
5+1次或多次
6[]任一个字符
7[^…]任一不包括括号里面的字符

语法解析树
等等不用再赘述