![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 88
mobº
兴趣使然
展开
-
深入浅出设计模式之模板模式
模板模式文章目录模板模式一、定义二、以前的模板的模式三、Java 8以后的模板方法一、定义模板方法模式(Template Method Pattern):定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。通俗地说,模板方法模式就是一个关于继承的设计模式。二、以前的模板的模式当我们去银行的营业厅办理业务需要以下步骤:1.取号、2.办业务、3.评价。三个步骤中取号和评价都是固定的流程,每个人要做的事儿都是一样的。但原创 2021-08-24 15:06:09 · 141 阅读 · 0 评论 -
深入浅出设计模式之访问者模式
访问者模式文章目录访问者模式一、访问者模式定义二、使用用例1、简单的访问者模式程序设计2、单分派与双重分派3、自助餐程序 2.0 版一、访问者模式定义访问者模式(Visitor Pattern):表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。二、使用用例以我们去吃自助餐为例,每个人喜欢的食物是不一样的,比如 Aurora 喜欢吃龙虾和西瓜,Kevin 喜欢吃牛排和香蕉,餐厅不可能单独为某一位顾客专门准备食物。所以餐厅的做法是将所原创 2021-08-24 13:52:57 · 113 阅读 · 0 评论 -
深入浅出设计模式之命令模式
命令模式文章目录命令模式一、定义与理解二、使用用例一、定义一、定义与理解命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。Command:请求封装成的对象,该对象是命令模式的主角。也就是说将请求方法封装成一个命令对象,通过操作命令对象来操作请求方法。在命令模式是有若干个请求的,需要将这些请求封装成一条条命令对象,客户端只需要调用不同的命令就可以达到将请求参数化的目的。将一条条请求封装成一条条命定对象之后,客户端发起的原创 2021-08-18 21:15:39 · 124 阅读 · 0 评论 -
深入浅出设计模式之责任链模式
责任链模式文章目录责任链模式一、定义二、使用场景1、解决Bug程序 1.02、解决Bug程序 2.03、解决Bug程序 3.04、解决Bug程序 4.0三、总结一、定义责任链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,知道有一个对象处理完它为之。二、使用场景我们每个人在工作中都承担着一定的责任,比如程序员承担着开发新功能、修改 bug 的责任,运营人员承担着宣传的责任、HR 承担着招聘新人的责任。我们每个人的原创 2021-08-17 14:06:28 · 258 阅读 · 1 评论 -
深入浅出设计模式之代理模式
代理模式文章目录代理模式一、定义二、使用步骤1.引入库2.读入数据总结一、定义示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings('ignore')i原创 2021-08-13 17:48:28 · 94 阅读 · 0 评论 -
深入浅出设计模式之享元模式
享元模式文章目录享元模式一、定义二、使用用例三、总结一、定义享元模式:运用共享技术有效地支持大量细颗粒度对象的复用。系统只有使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细颗粒度对象,因此它又称之为轻量级模式。简单来说享元模式就是共享对象,提高复用性。二、使用用例我们列举一个五子棋的架构。这里需要大量的棋子对象,它们除了颜色有黑白之分,摆放的位置不同,其他都一样,非常适合享元模式。/** * 第一步:定义一个共享对象的原创 2021-08-11 19:27:09 · 92 阅读 · 0 评论