开闭原则(Open Close Principle)
1.官方定义:对扩展开放,对修改关闭。个人理解就是能不改原来代码实现扩展,通过新建的类来拥抱需求的变化,而不是改原来的代码实现。
2.这个原则是其他五个原ta则的总纲,用JAVA语言说他就是抽象类,其他五个是它的具体实现
单一职责原则(Single Responsibility Principle)
- 这个原则也就是要求一个类或者接口,只干一件事,实现一个业务逻辑,不要太多业务逻辑堆叠到一个类里面
里氏替换原则(Listkov Substitution Principle)
1.通俗定义:父类出现的地方,子类都能替换父类,并且不会报错,使用者根本不用关心是父类还是子类实现的功能。但是子类出现的地方父类不一定能替换。说白了就是对Java 继承的理解。
依赖倒置原则(Dependence Inversion Principle)
1.理解起来主要包含2个方面:细节依赖抽象;模块也依赖抽象;
2.说白了就是我们常说的面向接口编程,通过抽象是各个模块彼此独立,实现松耦合。高级用法是TDD(测试驱动开发)
接口隔离原则(Interface Segregation Principle)
1.官方定义:客户端不应该依赖它不需要的接口
2.本质就是把一个臃肿的接口拆分为多个接口,假如一个类实现一个接口,这个接口中有很多方法,以后有的方法可能会改变,要把这些变化的接口分离出来,才能更好拥抱需求的变化
迪米特法则(Law of Demeter)
1.又叫最少知识原则(Least Knowledge Principle);它要求一个类对其它对象了解越少越好。你(被调用的类)的内部有多复杂,我不管,我只知道你提供的public方法怎么用,你内部怎么实现,那是你的事。
2.从创建类的角度看,这个类尽可能少用其他类,尽可能少用public方法。有点类似于抽象。
SOLID(稳定的意思,六大原则巧记,最后一个D有迪米特法则和依赖倒置原则)
网友评论