系列文章目录
设计模式概述和分类
文章目录
- 系列文章目录
- 前言
- 一、掌握设计模式的层次
- 二、设计模式介绍
- 三、设计模式类型
- 1.设计模式的三种类型
- 2.设计模式概述
- 总结
前言
大家好呀,欢迎来到柚子的博客~让我们一起成长吧o( ̄▽ ̄)ブ
提示:以下是本篇文章正文内容,下面案例可供参考
一、掌握设计模式的层次
(1)第1层:刚开始学编程不久,听说过什么是设计模式。
(2)第2层:有很长时间的编程经验,自己写了很多代码,其中用到了设计模式,但是自己却不知道。
(3)第3层:学习过了设计模式,发现自己已经在使用了,并且发现了一些新的设计模式挺好用的。
(4)第4层:阅读了很多别人写的源码和框架,在其中看到别人设计模式,并且能够领会设计模式的精妙和带来的好处。
(5)第5层:代码写着写着,自己都没有意识到使用了设计模式,并且熟练的写了出来。
注:设计模式不是在功能层面思考问题的,而是在软件系统和软件结构层面思考的。
二、设计模式介绍
(1)设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验,模式不是代码,而是某类问题的通用解决方案,设计模式(Design pattern)代表了最佳的实践。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
(2)设计模式的本质提高软件的维护性,通用性和扩展性,并降低软件的复杂度。
(3)<<设计模式>>是经典的书,作者是Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides Design(俗称" 四人组 GOF ")。
(4)设计模式并不局限于某种语言,java,php,c++ 都有设计模式。
三、设计模式类型
1.设计模式的三种类型
设计模式分为三种类型,共23种
(1)创建型模式:单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式。
(2)结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
(3)行为型模式:模板方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)。
注:不同的书籍上对分类和名称略有差别。
2.设计模式概述
(1)抽象工厂模式和工厂模式都是属于工厂模式。
(2)单例模式就是解决我怎么让一个系统里面只能有某个类的实例只能有一个。
(3)原型模式是解决的我们去怎么克隆一个对象,深拷贝还是浅拷贝。
(4)结构性模式是站在软件结构的角度来思考的。
(5)装饰者模式能解决类爆炸的问题。
(6)行为型模式是站在方法的角度来思考设计的。
(7)模板方法模式是说:我怎么设计这个方法让你更合理,比如有A类是抽象类,B类C类D类继承A类,BCD都会执行一个方法,比如要看一段代码执行的时间,那可以把执行的模板提到A里面去执行,让B,C来继承,B和C用这个模板把自己实际的代码再实现,这就是行为型模式要解决的。站在方法的角度,让方法的调用更合理,方法的设计更合理的角度来进行这个设计的。
(8)职责链模式(责任链模式)就是我们方法是形成一个链状的,这个调完了就调下一个。
注:详解请看后续文章~
总结
设计模式代表了最佳实践。那么屏幕前的小伙伴,你掌握的程度属于哪一层呢?欢迎评论哦~
╭◜◝ ͡ ◜◝╮
( ˃̶͈◡˂ ̶͈ )感觉有用的话,欢迎点赞评论呀!
╰◟◞ ͜ ◟◞╯