面向对象

主流的编程范式:

  • 面向过程
  • 面向对象
  • 函数式编程

面向对象知识点:

  1. 面向对象的四大特性:封装、抽象、继承、多态
  2. 面向对象编程与面向过程编程的区别和联系
  3. 面向对象分析、面向对象设计、面向对象编程
  4. 接口和抽象类的区别以及各自的应用场景
  5. 基于接口而非实现编程的设计思想
  6. 多用组合少用继承的设计思想
  7. 面向过程的贫血模型和面向对象的充血模型

    设计原则

    我们需要掌握它的设计初衷,能解决哪些编程问题,有哪些应用场景。只有这样,我们才能在项目中灵活恰当地应用这些原则。
    设计原则知识点:

  8. SOLID 原则 -SRP 单一职责原则

  9. SOLID 原则 -OCP 开闭原则
  10. SOLID 原则 -LSP 里式替换原则
  11. SOLID 原则 -ISP 接口隔离原则
  12. SOLID 原则 -DIP 依赖倒置原则
  13. DRY 原则、KISS 原则、YAGNI 原则、LOD 法则

    设计模式

    大部分设计模式要解决的都是代码的可扩展性问题。这一块的学习难点是了解它们都能解决哪些问题,掌握典型的应用场景,并且懂得不过度应用。

  14. 创建型

常用的有:单例模式、工厂模式(工厂方法和抽象工厂)、建造者模式。
不常用的有:原型模式。
2.结构型
常用的有:代理模式、桥接模式、装饰者模式、适配器模式。
不常用的有:门面模式、组合模式、享元模式。
3.行为型
常用的有:观察者模式、模板模式、策略模式、职责链模式、迭代器模式、状态模式。
不常用的有:访问者模式、备忘录模式、命令模式、解释器模式、中介模式。

编程规范

多书籍已经讲得很好了,比如《重构》《代码大全》《代码整洁之道》等。

代码重构

在软件开发中,只要软件在不停地迭代,就没有一劳永逸的设计。

重构是软件开发中非常重要的一个环节。持续重构是保持代码质量不下降的有效手段,能有效避免代码腐化到无可救药的地步。

在开发初期,除非特别必须,我们一定不要过度设计,应用复杂的设计模式。而是当代码出现问题的时候,我们再针对问题,应用原则和模式进行重构。

对于重构这部分内容,你需要掌握以下几个知识点:

  • 重构的目的(why)、对象(what)、时机(when)、方法(how);
  • 保证重构不出错的技术手段:单元测试和代码的可测试性;
  • 两种不同规模的重构:大重构(大规模高层次)和小重构(小规模低层次)

    五者之间的联系

  • 面向对象编程,是很多设计原则、设计模式编码实现的基础。

  • 设计原则是很多设计模式的指导原则
  • 设计模式是针对软件开发中经常遇到的一些设计问题,总结出来的一套解决方案。目的是提高代码的可扩展性,比设计原则更容易执行。
  • 编程规范解决代码的可读性问题
  • 重构作为保持代码质量不下降的有效手段,利用的是面向对象、设计原则、设计模式、编码规范这些理论。

image.png