1.单一职责原则
类的职责要单一,不能将太多的职责放在一个类中
2.开闭原则
软件实体对扩展是开放的,但对修改是关闭的,即在不修改一个软件实体的基础上去扩展其功能
3.里氏替换原则
在软件系统中,一个可以接受基类对象的地方必然可以接受一个子类对象
4.依赖倒转原则
要针对抽象层编程,而不要针对具体类编程
5.接口分离原则
使用多个专门的接口来取代一个统一的接口
6.合成复用原则
在复用功能时,应该尽量多使用组合和聚合关联关系,尽量少使用甚至不使用继承关系
7.迪米特法则
一个软件实体对其他实体的引用越少越好,或者说如果两个类不必彼此通信,那么这两个类就不应当发生直接的相互关系,而是通过引入一个第三者发生间接交互
设计原则总结
使用接口进行抽象编程(依赖倒转原则)可以实现开闭原则,复用尽量减少使用继承,因为继承的变化是一维的,如果有多个维度的变化类的数量就会急剧增加,使用关联可以降低类与类之间的耦合(合成复用原则)