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

解释器模式

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

备忘录模式

1 概述 定义 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到之前的状态。 备忘录模式就是提供一种对象的备份的模式,类图如下 originator:发起人角色,负责定义那些属于备份范围,负责创建和恢复备忘录数据 memento:负责存储发起人

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

门面模式

1 概述 定义:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。 子系统也可以理解为一个类或者一个模块,不管内部什么情况,都需要通过一个入口来访问。子系统并不知道门面的存在,对于子系统来说,门面就是一个特殊客户端而已。 2 优缺点 优

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

策略模式

1 概述 定义:定义一组算法,将每个算法都封装起来,并可以互换。通用类图如下: 策略模式使用的就是面向对象的继承和多态机制,非常容易理解,主要有三个角色: strategy:策略接口,定义每个策略或算法必须有的方法和属性。 context:上下文角色,主要作用是屏蔽高层模块对策略的直接访问 conc

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

建造者模式

1 概述 1.1 定义 将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。 1.2 通用类图 product类是要建造的产品,一般是使用了模板方法模式,也就是有模板方法和基本

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