1.开闭原则
面向对象的可复用设计的第一块基石就是"开-闭"原则(open-closed principle)
一个软件实体应当对扩展开放,对修改关闭. 抽象化是实现开闭原则的关键,感觉面向接口编程是很好的遵循了这种原则.
2. 里氏代换原则(Liskov Substitution Principle LSP)
任何基类可以出现的地方,子类一定可以出现.
3. 依赖倒转原则
要依赖抽象,不要依赖实现。
4. 合成/聚合复用原则
尽量使用合成,而不是继承关系达到复用目的
5. 迪米特法则
一个软件实体应当与尽可能少的其他实体发生互相作用。
6. 接口隔离原则
应当为客户端提供尽可能小的单独的接口,而不要提供大的总接口。