设计原则 找出应用中可能需要变化的地方,把它们独立封装起来,不要与无需变化的放在一起⚓ 针对接口编程(针对超类型编程)⚓ 声明类时不用理会以后执行时的真正对象类型 多用组合,少用继承⚓ 为了交互对象之间的松耦合设计而努力⚓ 类应该对扩展开放,对修改关闭⚓ 无需对每个地方都实行这个原则 依赖倒置原则:要依赖抽象,不要依赖具体类⚓ 不能让高层组件依赖底层组件,两者都应该依赖于抽象 最少知识原则:只和你的密友谈话⚓ 减少了对象之间的依赖;可能会导致复杂度与开发时间的增加,并降低运行时性能 好莱坞原则:高层组件调用底层组件,低层组件不调用高层组件⚓ 一个类应该只有一个引起变化的原因⚓ 尽量让每个类保持单一责任