Java教程

设计模式的六大原则

本文主要是介绍设计模式的六大原则,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

设计模式六大原则

  1. 单一原则(Single Responsibility Principle):一个类或者一个方法只负责一项职责

    不同角度看可能不算单一,比如你在红警中,造车就是一个单一职责,但是你对做车的来说,这就不是一个单一职责,就可能还要分为造轮子、造车门。

  2. 里氏替换原则(LSP liskov substitution principle):子类可以扩展父类的功能,但不能改变原有父类的功能

  3. 依赖倒置原则(dependence inversion principle):面向接口编程(通过接口作为参数实现应用场景)

    抽象就是接口或者抽象类,细节就是实现类

    上层模块不应该依赖下层模块,两者应依赖其抽象

    抽象不应该依赖细节,细节应该依赖抽象

    通俗地说就是变量或者参数,尽量使用抽象类或者接口。比如你传参尽量使用List,而不是ArrayList,这样以后你既可以传ArrayList,也可以传LinkedList。

    比如JDBC就是很典型的依赖倒置原则

  4. 接口隔离(interface segregation principle):建立单一接口(扩展类也是一种接口,一切皆接口)

    定义:

    • 客户端不应该依赖它不需要的接口
    • 类之间依赖关系应该建立在最小接口上

    简单理解:复杂的接口,根据业务拆分成多个简单接口(对于有些业务的拆分多看看适配器的应用)

    接口的设计粒度越小,系统越灵活,但是相应的结构复杂性也提高,开发难度变大,维护性降低

  5. 迪米特原则(LOD law of demeter):最少知道原则,尽量降低类与类之间的耦合,一个对象应该对其他对象有最少的理解。说白了就是低耦合。鼠标和电脑是有一点耦合的,耦合我们把它提升到概念上,具体的对象没有任何的耦合,只是概念上有耦合,电脑需要一个鼠标,但是具体的电脑和鼠标对象,是没有耦合的。生产电脑的时候不需要考虑生产的鼠标,生产鼠标也不需要考虑生产的电脑。

  6. 开闭原则(open closed principle):对扩展开放,对修改闭合

    什么叫扩展?我鼠标坏了,直接把鼠标拔了然后换一个就可以了。什么叫修改?每次打开电脑里面,接上鼠标然后等鼠标坏了又要重新打开电脑里面拔了再接一个鼠标。所以要扩展,不要改变(修改)父类的功能。

这篇关于设计模式的六大原则的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!