6.3 Maintainability-Oriented Construction Techniques面向可维护性的构造技术
1.状态驱动的构造技术
--基于自动机的编程
--Memento设计模式
--State设计模式
2表驱动的构造模式(略)
2.基于语法的构造技术
--语法和解析器
--正则表达式
--Interpreter设计模式
1 State-based construction 状态驱动的构造技术
使用有限状态机来定义程序的行为、使用状态来控制程序的执行
根据当前状态,决定下一步要执行什么操作、执行操作之后要转移到什么新的状态
(1) Automata-based programming基于自动机的编程
核心思想:将程序看作是一个有限状态自动机,侧重于对“状态”及“状态转换”的抽象和编程
程序的执行被分解为一组自动执行的步骤
各步骤之间的通讯通过“状态变量”进行
程序执行就可看作是各自动步骤的不断循环
使用二维数组和enum枚举类型定义状态转换表
(2) State Pattern状态模式 (behavioral pattern)
使用 delegation ,将状态转换的行为委派到独立的 state 对象去完成
(3) Memento Pattern备忘录模式 (behavioral)
记住对象的历史状态,以便于“回滚“
2略
3 Grammar-based construction语法驱动的构造
有一类应用,从外部读取文本数据,在应用中做进一步处理。
用 grammar 判断字符串是否合法,并解析成程序里使用的数据结构
(1) Constituents of a Grammar
用语法定义一个“字符串”
遵循特定规则,利用操作符、终止节点和其他非终止节点,构造新的字符串
(2) Operators in a Grammar
(3) Recursion in grammars
(4) Parse Trees 语法树
(6) Regular Grammars and Regular Expressions正则表达式
正则语法:简化之后可以表达为一个产生式而不包含任何非终止节点
解释器模式略