chiangtaol的笔记 本人精通Java、Python、Go、C、C++、PHP等单词的拼写

适配器模式

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

访问者模式

1 概述 定义 封装一些作用于某种数据结构中个元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。 通用类图: visitor 抽象访问者,抽象类或接口,声明可以访问那些元素 concretevisitor 具体访问者,访问到一个类应该干什么 element 抽象元素,接口或抽象

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

迭代器模式

1 概述 定义 提供一种方法访问一个容器中的各个元素,而又不需要暴露该对象的内部细节。 迭代器是为容器服务的,迭代器模式现在已经融入到每种语言之中了,java中集合都以实现,基本在使用开发项目中不用我们自定义容器和迭代器了。但还是要了解的。 Iterator 迭代器接口或抽象类,负责定义访问元素和遍

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

代理模式

1 概述 1.1定义 为其他对象提供一种代理以控制对这个对象的访问。 1.2 类图 subject:抽象主题类,可以是接口也可以是抽象类。 realsubject:具体主题

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