设计原则:
- 找出应用中可能需要变化之处,把他们独立出来,不要和哪些不需要变化的代码混在一起
- 针对接口编程(针对超类型编程),而不是针对实现编程。
- 多用组合,少用继承
- 为了交互对象之间的松耦合设计而努力
- 类应该对扩展开放,对修改关闭
- 要依赖抽象,不要依赖具体类
最少知识原则(得墨忒耳):减少对象之间的交互,只留下几个“密友”
就任何对象而言,在该对象的方法内,我们只应该调用属于以下范围的方法- 该对象本身
- 被当做方法的参数而传递进来的对象
- 此方法所创建或实例化的任何对象
- 对象的任何组件
好莱坞原则:别调用我们,我们会调用你。(高层组件)
- 一个类应该只有一个引起变化的原因