设计原则

里式替换(LSP)

三大类

创建型模式

单例模式、工厂模式、抽象工厂模式

结构型模式

装饰模式

行为型模式

责任链模式

六大原则

面向对象通识

委托、依赖、关联、组合、继承
依赖
use-a
成员里没有这个类。可能是方法中使用一个类。
关联
has-a
成员里有这个类,但是没直接实例化。
组合
a-part-of
与关联的区别是,属性直接赋值实例化一个对象。

https://blog.csdn.net/Seriousplus/article/details/80462722

抽象类

没有抽象类这个概念其实也是可以通过实现空方法基类来代替。抽象类好处是可以将运行时错误转化成编译时。优秀的程序员就是应该把编译错误。

参考资料

https://blog.csdn.net/SEU_Calvin/article/details/66994321
https://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html

https://mp.weixin.qq.com/s/BdSeTrjDCo9zW0Daxffb7Q