面向对象、设计原则、设计模式、编程规范、重构,这五者有何关系?
------ 极客时间 《设计模式之美》 王争
需要了解的内容
记录需要了解的内容,往后复习回来查看是否已经掌握
面向对象
- 面向对象的四大特性:抽象、封装、继承、多态
- 面向对象和面向过程编程的区别和联系
- 面向对象分析、面向对象设计、面向对象编程
- 接口和抽象类的却别以及各自的应用场景
- 基于接口而非实现编程的设计思想
- 多用组合少用继承的设计思想
- 面向过程的贫血模式和面向对象的充血模式
设计原则
SOLID原则 :
- SRP 单一职责原则
- OCP 开闭原则
- LSP 里氏替换原则
- ISP 接口隔离原则
- DIP 依赖倒置原则
- DRY原则、KISS原则、YAGNI原则、LOD法则
设计模式
设计模式三大类:创造型、结构型、行为型
1.创建型:
常用:单例模式、工厂模式(工厂方法和抽象工厂)、建造者模式
不常用:原型模式
2.结构型
常用:代理模式、桥接模式、适配器模式、装饰者模式
不常用:门面模式、组合模式、亨元模式
3.行为型
常用:观察者模式、职责链模式、模板模式、策略模式、迭代器模式、状态模式
不常用:访问者模式、备忘录模式、命令模式、解释器模式、中介模式
代码重构
代码在迭代的路上,没有一劳永逸的设计。所以随着需求的变化,代码就会不停的更新。每次更新都必定会出现各种问题,针对这些问题我们可以通过代码重构来解决。
代码重构是保持代码质量不下降的有效手段
- 重构的目的(why)、对象(who)、时机(when)、方法(how)
- 保证重构不出错的方法是:单元测试和代码的可测试性
- 两种不同规模的重构:大重构(大规模高层次)和小重构(小规模低层次)
1.在今天讲到的内容中,你觉得那一部分内容对提高代码质量最有效?为什么?除了总结罗列的内容外,还知道那些可以提高代码质量的方法?
答:今日内容,认为设计原则对于提高代码质量最有效,因为很多模式也是基于这些原则去实现的。除了罗列的内容外,还可以在一些成功的案例代码,去学习高手的习惯,比如 熟练的使用 TODO去提示自己该完成的内容。
2.我们知道,最经典的设计模式书籍是 GoF 的《设计模式》,它的中文全称是《设计模式:可复用面向对象软件的基础》,英文全称是“Design Patterns: Elements of Reusable Object-Oriented Software”。为什么它在标题中会特意提到“面向对象”呢?
答: 据我目前了解,设计模式是根据设计原则在面向对象的基础上发展出来的一系列解决方案。