一个类专注一个功能
子类可以替换父类
实现依赖接口,而不是具体实现
对拓展开放,对修改关闭
提供尽可能小的接口而非一个大的接口
类内部只需要实现需要的接口方法即可,其他一律不管。通过引入第三方来减低现有对象之间的耦合度(如创建抽象类、接口)。
通过组合而非继承达到复用的目的