1.开闭原则:(面向对象编程中,最核心最基础的一个原则,所有设计模式都是围绕这一原则去实践)对原有的类不做修改,只做扩展
2.单一职责:说的是类的职责要单子。也就是说一个类最好只负责一方面的事情。比如说,表现层、业务层、持久层的职责就是单一职责。
3.接口隔离:指的是接口的功能要尽量的少。不要一个接口包含太多的功能。
4.里氏替换:指的是如果使用继承来进行功能扩展的化,不要在子类中去改变父类已经实现的方法。而实通过添加新的方法去扩展父类的功能。
5.依赖倒置:通过抽象(接口或抽象类)是各个类或模块实现彼此独立,互不影响,实现模块间的松耦合(面向接口或面向抽象)。也可以理解为,由传统的高层次依赖低层次,或抽象依赖具体实现的反转,即具体依赖于抽象,低层次依赖于高层次。
- 每个类都应有接口口或抽象类或同时具备,这是依赖倒置的前提条件,有了抽象才可以倒置。
- 任何类型不应从具体类派生,应从抽象类或接口派生。
- 尽量不要重写基类的方法。
- 要结合里氏替换原则(继承规范)来使用。
6.合成复用:指的是能用组合或者聚合关系,就不用继承
7.迪米特原则:(最少认知)降低耦合度
总结:开闭原则是总纲,要“对扩展开放,对修改关闭”;里氏替换原则是不要破坏继承体系;依赖倒置原则主张面向接口或抽象类编程;单一职责讲的是类要职责单一;接口隔离原则是设计接口的时候要精简单一;迪米特法则要降低耦合度;合成服用原则主张优先使用组合或者聚合关系复用,少用继承关系复用。