<aside> 💡 组建的销毁由 Java 的垃圾回收机制来完成,不用我们考虑
</aside>
开闭原则
软件实体应该对扩展开放,对修改关闭**(扩展新类而不是修改旧类)**
里氏替换原则
继承必须保证超类所拥有的性质在子类中仍然成立**(继承父类而不是改变父类)**
依赖倒置原则
高层模块不应该依赖底层模块,两者都应该依赖其抽象,抽象不应该依赖细节,细节应该依赖抽象**(面向接口编程,而不是面向实现类)**
单一职责原则
一个类有且仅有一个引起它变化的原因,否则类应该被拆分**(每个类只负责自己的事情,而不是变成万能)**
接口隔离原则
一个类对另一个类的依赖应该建立在最小的接口上**(各类建立自己的专用接口,而不是建立万能接口)**
迪米特原则(最少知识原则)
只与你的直接朋友交谈,不跟“陌生人”交谈**(无需直接交互的两个类,如果需要交互,使用中间者)**
<aside> 💡 过度使用迪米特原则可能会使系统产生大量的中介类,从而增加系统的复杂性,模块之间的通讯效率降低
</aside>