OO设计原则

抖胆翻译一下scea study guide里的第一章的OO设计原则.纪录一下.

开闭原则
类应该被扩展,而不是被修改

Liskov替换原则
子类可以替换父类

依赖注入原则
依赖于抽象,而不是实现

接口分离原则
接口应该分开,避免单一通用的接口

合成重用原则
尽量用多态聚合代替继承

最少知识原则
操作知道尽可能少的当前类中的对象(自身,参数,类中的其他实例对象)

发布重用等效原则
细粒度的重用相当于细粒度的版本发布

包依赖:

共同关闭原则
一同变更的类应放在一起

公用重用原则
如果类不会一起被重用,就不应该放到一起.

非循环依赖原则
包之间不可以有循环依赖

依赖不变原则
依赖不应该经常变化

抽象不变原则
抽象包不应该经常变化