OO 原则 - 封装变化 - 多用组合(composition),少用继承「inherit」 - 针对接口编程「implement interface」 - 为交互对象松耦合设计而努力「解耦」 - 类「class」应该对接口开放,而对修改关闭 - 多依赖抽象,而少依赖具体类 OO 模式 - 命令模式 o 将请求封装成对象:例如将一系列 Command 封装起来,通过一个 execute 方法即可执行一系列的操作 - 观察者模式 - 装饰模式 - 工厂方法模式 - 单件模式 - 适配器模式 和 外观模式 o 将类的 接口 “装饰”成另一种类型 {例如将‘球’接口装成‘正方体’ } “面向对象适配器”