设计模式小结

93 阅读2分钟

前面已经学习了,面向对象设计原则编程规范代码重构等知识点。 总结下前面学习的一些内容,后面就正式学习一些常用的设计模式了,设计模式处处映射着这些思想。

面向对象:

  1. 封装,抽象,继承,多态
  2. 面相对象编程
  3. 面向对象分析,面向对象设计,面向对象编程
  4. 基于接口实现
  5. 多用组合少用继承
  6. 贫血模型和充血模型

设计原则:

  1. SRP:单一职责
  2. OCP:开闭原则
  3. LSP里氏替换原则
  4. ISP接口隔离
  5. DIP依赖倒置原则
  6. DRY原则
  7. YAGNI原则

面向对象分析几板斧

面向对象分析的产出是详细的需求描述。面向对象设计的产出是类。在面向对象设计这一环 节中,我们将需求描述转化为具体的类的设计。这个环节的工作可以拆分为下面四个部分。

划分职责进而识别出有哪些类

根据需求描述,我们把其中涉及的功能点,一个一个罗列出来,然后再去看哪些功能点职责 相近,操作同样的属性,可否归为同一个类。

定义类及其属性和方法

我们识别出需求描述中的动词,作为候选的方法,再进一步过滤筛选出真正的方法,把功能 点中涉及的名词,作为候选属性,然后同样再进行过滤筛选。

定义类与类之间的交互关系

UML 统一建模语言中定义了六种类之间的关系。它们分别是:泛化、实现、关联、聚合、 组合、依赖。我们从更加贴近编程的角度,对类与类之间的关系做了调整,保留了四个关系: 泛化、实现、组合、依赖。将类组装起来并提供执行入口

我们要将所有的类组装在一起,提供一个执行入口。这个入口可能是一个 main() 函数,也 可能是一组给外部用的 API 接口。通过这个入口,我们能触发整个代码跑起来。