面向对象
目前流行的编码风格有三种:面向过程/面向对象/函数式编程,其中最主流的就是面向对象,它的主要知识点如下:
- 封装,抽象,继承,多态;
- 面向对象和面向过程的区别和联系;
- 面向对象分析、面向对象设计、面向对象编程;
- 接口和抽象类的区别及应用场景;
- 基于借口而非实现编程的设计思想;
- 多用组合少用继承的设计思想;
- 面向过程的贫血模型和面向对象的充血模型;
设计原则
设计原则是对代码设计经验的抽象总结,学习的过程中需结合设计的初衷,解决的问题和应用场景进行理解,常用的设计原则如下:
- SOLID原则之SRP单一职责原则
- SOLID原则之OCP开闭原则
- SOLID原则之LSP里氏替换原则
- SOLID原则之ISP接口隔离原则
- SOLID原则之DIP依赖倒置原则
- DRY原则
- KISS原则
- YAGNI原则
- LOD法则
设计模式
设计模式是针对开发过程中遇到的问题总结出来的设计思路,经典的设计模式有23种,主要分为以下几类:
- 创建型
- 常用的如单例模式,工厂模式,建造者模式;
- 不常用的如原型模式;
- 结构型
- 常用的如代理模式,桥接模式,装饰者模式,适配器模式
- 不常用的如门面模式,组合模式,享元模式
- 行为型
- 常用的如观察者模式,模板模式,策略模式,职责模式,迭代器模式,状态模式
- 不常用的如访问者模式,备忘录模式,命令模式,解释器模式,中介模式
编程规范
编程规范主要的目的是解决代码的可读性。参考书籍可以阅读:
- 《重构》
- 《代码大全》
- 《代码整洁之道》
代码重构
随着功能的迭代和代码的堆砌,持续重构是保证代码质量不下降的重要手段。重构需要掌握的知识点包括:
- 重构的目的,对象,时机,方法
- 保证重构不出错的技术手段:单元测试和代码的可测试性
- 两种不同规模的重构:大重构(大规模高层次)和小重构(小规模低层次)