设计模式讲解-初识设计模式
![](https://img.haomeiwen.com/i1875993/c6beb1b0311c3078.jpg)
设计模式是什么?
设计模式是人们在面对同类型软件工程设计问题所总结出的一些有用的经验(是前辈们对代码开发经验的总结,是解决特定问题的一系列套路)。设计模式不是代码,而是某类问题的通用设计解决方案。让我想起了:世上本无路,走的人多了,也便成了路。
百科介绍:
![](https://img.haomeiwen.com/i1875993/07a87e5e733a68bb.png)
23种设计模式总结者:
Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides于1995年总结写了《设计模式》。
学习设计模式最好的方式:在你的设计和以往的工程里面寻找何处可以使用它们。
设计模式的本质目的是使软件工程在维护性、扩展性、变化性、复杂度方面成O(N)。
设计模式可以分为三类:
一:创建型模式
二:结构型模式
三:行为型模式
三类模式各包含具体哪些模式?如下图:
![](https://img.haomeiwen.com/i1875993/b1337dc07db5dc19.png)
设计模式之间关系,如下图:
![](https://img.haomeiwen.com/i1875993/9e2399b30ea4a9d4.jpeg)
思考个问题:
![](https://img.haomeiwen.com/i1875993/a068dac991ad7773.png)
其实Java种的IO流类设计使用的就是装饰者模式。至于优点,在装饰者模式中,我们详细讲解
题外话:
设计模式的几大原则
1:开闭原则
![](https://img.haomeiwen.com/i1875993/2558a010cbaa50e1.png)
2:里氏代换原则(LSP)
![](https://img.haomeiwen.com/i1875993/515e20dfe14a51cf.png)
3:依赖倒转原则
![](https://img.haomeiwen.com/i1875993/a1d89cb21990c26a.png)
4:接口隔离原则
![](https://img.haomeiwen.com/i1875993/8f176d9ad96a504b.png)
5:迪米特法则(知道最少原则)
![](https://img.haomeiwen.com/i1875993/760aa51ed60df6f8.png)
6:合成复用原则
![](https://img.haomeiwen.com/i1875993/178ab6b72c5ac777.png)
7:单一职责原则
![](https://img.haomeiwen.com/i1875993/f9c6875b981cfa29.png)
本文出自凯哥Java(kaigejava)。欢迎关注凯哥公众号:凯哥Java。凯哥个人博客:www.kaigejava.com
从上面七大原则上,我们就可以看出,其实设计模式就是一个软件的设计思想,从大型软件架构出发,为例升级和维护方便的。所有,我们会经常听到低耦合,高内聚。这也就是spring的一个特点。
网友评论