【软件构造】课程提纲4

第六章

  1. 可维护性的常见度量指标:圈复杂度、代码行数、运算符/操作数的数目、可维护性指数(MI)、继承深度、类耦合、单元测试覆盖度
  2. 聚合度与耦合度
    (1)耦合度:多个模块间的相互联系
    (2)聚合度:模块内部语句或语句段之间的联系
  3. SOLID
    (1)S:单一责任原则,即引起类变化的原因只有一个
    (2)O:开放封闭原则,对扩展开放,对修改封闭,通过集成/组合改变/扩展功能
    (3)L:即LSP
    (4)I:接口隔离原则,即客户端不应依赖于不使用的接口,令接口尽可能小
    (5)D:依赖转置原则,细节、模块都应依赖于抽象
  4. 设计模式
    (1)构建模式
      ·factory method:将实例的生成交给子类,将代码同对象创建解耦
    在这里插入图片描述
      ·abstract factory:将关联零件组装成产品
    在这里插入图片描述
      ·Builder:将复杂对象的构造与其表示分开,以便相同的构建过程可以创建不同的表示
    在这里插入图片描述
    (2)结构模式
      ·bridge:将类的功能层次结构与实现层次结构分离
    在这里插入图片描述
      ·proxy:只在必要时生成实例
        - 远程(Remote):提供一个对象在不同地址空间的局部代表,即缓存
        - 虚拟(Visual):根据需要创建开销较大的对象,实现延迟加载
        - 保护(Protection):保护实际的对象
    在这里插入图片描述
      ·复合(composite):将对象组合成树形结构以表示“部分-整体”的层次结构。使得用户对单个对象和组合对象的使用具有一致性
    在这里插入图片描述
    (3)行为模式
      ·观察者(observer):建模对象之间的一对多依赖关系
        - 保持冗余状态的一致性
        - 优化一批更改以保持一致性
    在这里插入图片描述
      ·中介者(Mediator):定义一个接口用于与各同事(Colleague)对象通信,如send -> receive
      ·访客(visitor):将数据结构与其上的处理分离,允许在运行时对一组具有不同数据结构的对象执行统一操作
    在这里插入图片描述
      ·状态(state):允许一个对象的内部状态改变时改变它的行为,与策略结构相同,但各部分不可互换
    在这里插入图片描述
      ·备忘录(memento):保存一个对象的某个状态,以便在适当的时候恢复对象,需要一个memento和一个careTaker
    在这里插入图片描述
  5. 语法、正则表达式
    (1)语法:可以帮助区分合法/非法序列,将序列解析为程序可以使用的数据结构(通常是递归数据类型)
      ·产生式:表示该变量根据其他变量,运算符和常量的定义
      ·非终结符:相当于变量,表示一组字符串
      ·终结符:相当于常量,语法分析树中的叶子
      ·运算符:ab,a*,a|b,[^ab],[ab],a+,a?
    (2)正则表达式:许多字符串处理任务中广泛使用的工具,需要对字符串进行反汇编,从中提取信息或对其进行转换
      ·通过用右手边替换每个非终结符(除了根节点之外),可以将其减少为根的一次生产,只有终端和操作符在右侧。
      ·特殊字符:.(单一字符)、\s(空白)、\w(字母)、\d(数字)……
      ·倘若根结点中包含的组成部分又可以生成根节点,则永远无法递归到只剩终结符的时候,该语言不是递归的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值