码迷,mamicode.com
首页 > 其他好文 > 详细

【软件构造】课程提纲(4)

时间:2018-06-12 18:31:23      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:延迟   使用   集成   扩展   加载   接口隔离原则   visitor   mem   通过   

 第六章

 

1. 可维护性的常见度量指标:圈复杂度、代码行数、运算符/操作数的数目、可维护性指数(MI)、继承深度、类耦合、单元测试覆盖度

2. 聚合度与耦合度

1)耦合度:多个模块间的相互联系

2)聚合度:模块内部语句或语句段之间的联系

3. SOLID

(1)S单一责任原则,即引起类变化的原因只有一个

(2)O开放封闭原则,对扩展开放,对修改封闭,通过集成/组合改变/扩展功能

(3)LLSP

(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

【软件构造】课程提纲(4)

标签:延迟   使用   集成   扩展   加载   接口隔离原则   visitor   mem   通过   

原文地址:https://www.cnblogs.com/zhangyushuqing/p/9174424.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!