前面已经学习了,面向对象,设计原则,编程规范,代码重构等知识点。
总结下前面学习的一些内容,后面就正式学习一些常用的设计模式了,设计模式处处映射着这些思想。
面向对象:
- 封装,抽象,继承,多态
- 面相对象编程
- 面向对象分析,面向对象设计,面向对象编程
- 基于接口实现
- 多用组合少用继承
- 贫血模型和充血模型
设计原则:
- SRP:单一职责
- OCP:开闭原则
- LSP里氏替换原则
- ISP接口隔离
- DIP依赖倒置原则
- DRY原则
- YAGNI原则
面向对象分析几板斧
面向对象分析的产出是详细的需求描述。面向对象设计的产出是类。在面向对象设计这一环 节中,我们将需求描述转化为具体的类的设计。这个环节的工作可以拆分为下面四个部分。
划分职责进而识别出有哪些类
根据需求描述,我们把其中涉及的功能点,一个一个罗列出来,然后再去看哪些功能点职责 相近,操作同样的属性,可否归为同一个类。
定义类及其属性和方法
我们识别出需求描述中的动词,作为候选的方法,再进一步过滤筛选出真正的方法,把功能 点中涉及的名词,作为候选属性,然后同样再进行过滤筛选。
定义类与类之间的交互关系
UML 统一建模语言中定义了六种类之间的关系。它们分别是:泛化、实现、关联、聚合、 组合、依赖。我们从更加贴近编程的角度,对类与类之间的关系做了调整,保留了四个关系:
泛化、实现、组合、依赖。将类组装起来并提供执行入口
我们要将所有的类组装在一起,提供一个执行入口。这个入口可能是一个 main() 函数,也 可能是一组给外部用的 API 接口。通过这个入口,我们能触发整个代码跑起来。