
设计模式
文章平均质量分 93
江夏、
关注微信公众号:1024笔记;可免费领取海量学习资源和资料
展开
-
从零开始学设计模式(二十二):命令模式(Command Pattern)
命令模式(Command Pattern)又叫动作模式或事务模式。指的是将一个请求封装成一个对象,使发出请求的责任和执行请求的责任分割开,然后可以使用不同的请求把客户端参数化,这样可以使得两者之间通过命令对象进行沟通,从而方便将命令对象进行储存、传递、调用、增加与管理。命令模式是一种对象行为型模式。命令模式就是对命令的封装,就是把一系列的操作写到一个方法中,然后供客户端调用就行了。主要的作用就是对请求发送者与接收者进行耦合,发送者与接收者之间没有直接引用关系,使得对象之间的调用关系更加灵活,发送请求的对原创 2022-05-14 14:13:43 · 290 阅读 · 0 评论 -
从零开始学设计模式(二十一):解释器模式(Interpreter Pattern)
抽象表达式是生成语法集合的关键,每个非终结符表达式解释一个最小的语法单元,然后通过递归的方式将这些语法单元组合成完整的文法,这就是解释器模式。解释器模式在实际的使用中比较少,因为它的维护和性能效率是比较复杂的问题,所以对于解释器模式了解即可。原创 2022-05-13 10:42:10 · 202 阅读 · 0 评论 -
从零开始学设计模式(二十):迭代器模式(Iterator Pattern)
迭代器模式主要是提供了一种访问一个容器对象中各个元素的方法,并且不会暴露该对象的内部细节。但是很多语言在实现容器的时候都提供了迭代器,所以可以一般采用语言提供的迭代器模式就可以了,不需要刻意的去实践迭代器模式。原创 2022-05-12 10:23:41 · 276 阅读 · 0 评论 -
从零开始学设计模式(十九):责任链模式(Chain of Responsibility Pattern)
责任链模式(Chain of Responsibility Pattern)又叫也叫职责链模式,指的是为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。它是一种对象行为型模式。原创 2022-05-11 10:32:33 · 199 阅读 · 0 评论 -
从零开始学设计模式(十八):状态模式(State Pattern)
状态模式(State Pattern)指的是将一个对象的状态从该对象中分离出来,封装到专门的状态类中,使得对象状态可以灵活变化,在其内部状态改变时改变它的行为。状态模式是一种对象行为型模式。它和策略模式有一点很像,就是将一些复杂的逻辑放在一个专门的上下文类中进行处理。原创 2022-05-10 10:12:45 · 364 阅读 · 1 评论 -
从零开始学设计模式(十七): 备忘录模式(Memento Pattern)
**备忘录模式**(Memento Pattern)又叫快照模式,它指的是在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态。它是一种对象行为型模式。原创 2022-05-09 10:20:04 · 372 阅读 · 0 评论 -
从零开始学设计模式(十六):策略模式(Strategy Pattern)
策略模式是一种简单并且常用的模式,它主要就一个算法抽象类或者接口封装算法、然后多个具体的算法实现类实现它的方法再被一个上下文类来包装一下。一般来说,策略模式不会单独使用,跟模版方法模式、工厂模式等混合使用的情况比较多。原创 2022-05-06 10:30:25 · 295 阅读 · 0 评论 -
从零开始学设计模式(十五):模版方法模式(Template Method Pattern)
模版方法模式(Template Method)定义一个操作中算法的框架,并且将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。原创 2022-05-05 12:03:59 · 177 阅读 · 0 评论 -
从零开始学设计模式(十四):中介者模式(Mediator Pattern)
中介者模式(Mediator Pattern)又被称为调停者模式。它定义了一个中介对象来封装一系列对象之间的交互关系。中介者使各个对象之间不需要显式地相互引用,从而使耦合性降低,而且可以独立地改变它们之间的交互行为。它是一种对象行为型模式。生活中最常见的例子就是租房中介是一种中介,如果我们想要租房可以通过中介和房东沟通,这时候其实并不需要知道对方是谁,也并不需要面对面,类似于电话、QQ、微信等等都是中介,能大大降低了沟通的复杂性。原创 2022-04-08 12:00:11 · 493 阅读 · 0 评论 -
从零开始学设计模式(十三):访问者模式(Visitor Pattern)
前面的几篇文章分别介绍了创建型设计模式和结构型设计模式,接下来的几篇文章将介绍行为型设计模式原创 2022-02-13 13:21:28 · 272 阅读 · 0 评论 -
从零开始学设计模式(十二):享元模式(Flyweight Pattern)
享元模式(Flyweight Pattern)指的是运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似类的开销,从而提高系统资源的利用率。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。原创 2022-01-13 20:02:20 · 224 阅读 · 0 评论 -
从零开始学设计模式(十一):组合模式(Composite Pattern)
组合模式又叫做部分-整体模式,它在树型结构(可以想象一下数据结构中的树)的问题中,模糊了简单元素和复杂元素的概念,客户端程序可以像处理简单元素一样来处理复杂元素,而使得客户端程序与复杂元素的内部结构进行解藕。原创 2022-01-11 20:58:02 · 209 阅读 · 0 评论 -
从零开始学设计模式(十): 桥接模式(Bridge Pattern)
桥接(Bridge)模式又称为柄体(Handle and Body)模式或接口(Interface)模式,它将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。原创 2022-01-10 21:16:57 · 181 阅读 · 0 评论 -
从零开始学设计模式(九):外观模式(Facade Pattern)
外观(Facade)模式又叫作门面模式,是一种为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部与其中子系统的通信必须通过一个统一的外观对象进行,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,使得这一子系统更加容易使用,提高了程序的可维护性。外观模式是一种对象结构型模式。原创 2022-01-05 22:05:32 · 337 阅读 · 0 评论 -
从零开始学设计模式(八):装饰器模式(Decorator Pattern)
装饰器模式是继承关系的一个替代方案,在不必改变原类文件和原类使用的继承的情况 下,通过使用对象之间的关联关系来取代类之间的继承关系,从而能够动态的给一个对 象拓展一些额外的功能。它也是一种对象结构型模式。原创 2022-01-03 20:53:57 · 315 阅读 · 0 评论 -
从零开始学设计模式(七):代理模式(Proxy Pattern)
代理模式的定义:由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。它是一种对象结构型模式。原创 2021-12-30 19:54:46 · 305 阅读 · 0 评论 -
从零开始学设计模式(六):适配器模式(Adapter Pattern)
适配器模式(Adapter Pattern)指的是把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作。就好比你的苹果手机和安卓手机的耳机接口是不一样的,所以如果换了手机那么还得换耳机,但是可以通过一个转换接口能够使得一个耳机在安卓和苹果手机上都能够使用。所以适配器模式也是使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。原创 2021-12-27 19:59:17 · 206 阅读 · 0 评论 -
从零开始学设计模式(五):建造者模式(Builder Pattern)
建造者模式的定义就是:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。生成器模式利用一个导演者对象和具体建造者对象一个一个地建造出所有的零件,从而建造出完整的对象。原创 2021-12-17 23:10:03 · 237 阅读 · 0 评论 -
从零开始学设计模式(四):工厂模式(Factory Pattern)
工厂模式主要是为创建对象提供过渡接口来指向新创建的对象,以便将创建对象的具体过程屏蔽隔离起来,不会对客户端暴露创建逻辑,,从而达到提高灵活性的目的。原创 2021-12-07 20:19:19 · 1041 阅读 · 0 评论 -
从零开始学设计模式(三):原型模式(Prototype Pattern)
一起学习原型模式!!原创 2021-12-06 17:39:10 · 598 阅读 · 0 评论 -
从零开始学设计模式(二):单例模式
一起学习设计模式原创 2021-12-04 20:55:19 · 298 阅读 · 0 评论 -
从零开始学设计模式(一):什么是设计模式
作者的其他平台:| CSDN:https://blog.csdn.net/qq_41153943| 掘金:https://juejin.cn/user/651387938290686| 知乎:https://www.zhihu.com/people/1024-paper-96| GitHub:https://github.com/JiangXia-1024?tab=repositories 本文大概54原创 2021-09-25 09:35:38 · 273 阅读 · 0 评论 -
23种设计模式介绍及其分类
设计模式这一概念的诞生来源于1995 年,GoF(Gang of Four,四人组/四人帮)合作出版了《设计模式:可复用面向对象软件的基础》这一本书,其中一共收录了 23 种设计模式,从此树立了软件设计模式领域的里程碑,称之为GoF设计模式或者设计模式GOF23。这23种设计模式并不似不是语法结构,而是对软件开发过程中最基本的面向对象设计原则、面向对象的三大基本特征(封装性、继承性和多态性)以及类...原创 2019-09-28 09:30:13 · 421 阅读 · 0 评论