1.单一职责原则:类的职责要单一,不能将太多的职责放到一个类中。
2.开闭原则:软件实体对扩展时开放的,但对修改是关闭的,即在不修改一个软件实体的基础上去扩展器功能。
3.里转转换原则:在软件系统中一个可以接受基类对象的地方必然可以接受其子类对象(父类中装入子类)
4.依赖倒转原则:要针对抽象对象编程,而不是对具体类编程。
5.接口隔离原则:使用多个专门的接口 来取代一个统一的接口。
6.合成复用原则:在系统中应多使用组合聚合关系,尽量少使用或不使用继承关系。
7.迪米特法则:一个软件实体对其他实体的引用越少越好,或者说如果两个类不必彼此自黑通信,那么,两个类就不应当直接发生作用,而是通过引入中间体发生间接交互。