作者:努力保头发的打工人

装饰者模式

1 概述 定义 :动态的给一个对象添加一些额外的职责。装饰者就与生成子类来说更为灵活。通用类图如下: Component 一个接口或抽象类,定义最核心的对象。 ConcreateComponent 被装饰的对象。 decorator 装饰者,一般是一个抽象类,里面会有一个变量指向component

努力保头发的打工人 发布于 2021-01-24

中介者模式

1.概述 定义为,用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示的相互作用,从而使其耦合松散,而且可以独立的改变他们之间的交互。通用类图如下: 中介者模式有以下模块组成: Mediator 抽象中介者 ConcreteMediator具体中介者 Colleague同事类

努力保头发的打工人 发布于 2021-01-24

责任链模式

1 概述 责任链模式使多个对象都有机会处理请求,从而避免了请求发送者和接收者之间的耦合关系。这些对象连成一条链,并沿着该链传递请求,直到有对象处理它。 责任链模式的重点是链,用一条链处理相似的请求,并返回结果,通用类图如下: 2 优缺点

努力保头发的打工人 发布于 2021-01-24

适配器模式

1 概述 定义 将一个类的接口变换成客户端期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 当我们正常使用一个接口时,如现在手机二级插口都是type-c,现在有了一个圆头插头的耳机,这肯定不能直接使用。我们需要使用一个转换器(适配器)来把圆头转为type-c的插头。代

努力保头发的打工人 发布于 2021-01-24

桥接模式

1 定义 将抽象和实现解耦,使得两者可以独立地变化。 类图如下: abstraction 抽象化角色,同时保存对一个实现化角色的引用 implementor 实现化角色,接口或抽象类,定义该角色的行为和属性 refinedabstraction 修正抽象化角色 concreteimplementor

努力保头发的打工人 发布于 2021-01-24

模版方法模式

1 概述 1.1定义 定义一个操作中的算法的框架,而将一些步骤延伸到子类中。使得子类可以不改变算法结构即可重新定义该算法的某些特定步骤。 类图如下: 模板抽象类中定义基本操作,由子类实现,然后在模板方法中被调用,实现对基本方法

努力保头发的打工人 发布于 2021-01-24

命令模式

1.概述 命令模式是一个高内聚的模式,其定义为:将一个请求封装成一个对象,从而让你使用不同的请求吧客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 命令模式通用类图如下: Receiver 接收者,就是干活的角色,命令传递到这里应该被执行的。 Command 命令角色,需要执

努力保头发的打工人 发布于 2020-12-31

解释器模式

1 概述 定义 给定一门语言,定义他的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。类图如下: AbstractExpression 抽象表达式解释器,具体的解释由各个实现类完成,抽象解释器通常只有一个方法,定义每个表达式解释器都有一个解析的任务。任务通过递归调用的方式,最

努力保头发的打工人 发布于 2020-12-31

观察者模式

1 概述 定义 观察者模式也叫作发布订阅模式,对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于他的对象都会得到通知并被自动更新。 subject 被观察者一般是抽象类,仅仅完成被观察者的基本实现:管理并通知观察者。 concretesubject 具体被观察者,定义自己的业务逻辑,

努力保头发的打工人 发布于 2020-12-30