5.3面向可维护性的构造技术(我又来降低重复率了)

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值