一、单一职责原则
单一原则比较简单,就是将一组相关性很强函数、数据封装到一个类中,这个类的职责比较单一。如:我这里写了一个WebSocketUtils,专门用来对websocket 链接,数据处理相关的工作。
二、开闭原则
一个类对于扩展是开放的,对于修改是闭合的。为什么要这样呢,因为需求是会改变的,如果我们需求改变去改变内部代码,可能会引起其他地方的错误,这样代码改完之后会影响系统的稳定性,所以这里我们需要去扩展原有的功能,而不是修改。
三、里氏替换原则
派生类(子类)对象可以在程式中代替其基类(超类)对象。通俗点来讲:子类可以扩展父类的功能,但不能改变父类原有的功能。你会发现里氏替换原则是实现开闭原则的重要方式之一。
综上总结里氏替换原则的四点:
1、子类可以实现父类的抽象方法,非抽象方法不能重写和覆盖。
2、子类中可以添加自己的方法。
3、子类在实现或者覆盖父类的方法的时候,那么该方法的入参要比父类方法的入参更加宽松。
四、依赖倒置原则
在项目中只要记住“面向接口编程”就基本上抓住了依赖导致原则的核心。即通过抽象类或者接口使各个类或者模块实现彼此的独立,不相互影响,实现模块间的低耦合。
五、接口隔离原则
接口隔离原则定义:类之间的依赖关系应该建立在最小的接口上。其原则是将非常庞大的、臃肿的接口拆分成更小的更具体的接口。
如:A通过接口I 和B,建立关系,C 也通过接口 I 与D 建立关系, 那么应该讲接口I 拆分成更小的接口,I 和 J, 这样让A和B通过I,C和D通过J分别去简历关系。
六、迪米特原则
定义为:一个对象对其它对象尽可能少的理解。简单理解就是:如果其中一个类需要调用另一个类的方法,可以通过第三者(这个第三者是你这个类关系近的)转发这个调用
再简单点就是:你认识张三,张三认识李四,你想调用李四的方法,你只能找张三中间转发一下。(只和你认识的朋友通信,不要和陌生人搭话)