摘要: 1、简介 模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。 不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。 2、模板方法结构 模板方法模式是所有模式中最为常 阅读全文
posted @ 2021-08-23 14:49 bluesky1 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 1、简介 观察者模式是对象的行为模式,又叫发布-订阅模式,它定义了一对多的依赖关系,让多个观察者同时监听一个主题对象,这个主题对象在发生变化时,会通知所有的观察者,使他们能自己更新自己 2、观察者模式类图 3、观察者模式涉及的角色 从上图可以看出,观察者模式涉及到以下四个角色 3.1、抽象主题角色: 阅读全文
posted @ 2021-08-23 14:47 bluesky1 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 1、简介 访问者模式是对象的行为模式。访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。 2、访问者模式的使用场景 访问者模式表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素类的前提下定义作用于这些元素的新操 阅读全文
posted @ 2021-08-23 14:45 bluesky1 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 1、简介 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 2、策略模式的结构 策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通 阅读全文
posted @ 2021-08-23 14:40 bluesky1 阅读(851) 评论(0) 推荐(0) 编辑
摘要: 1、简介 迭代器模式又叫游标模式,是对象的行为模式,迭代器模式可以顺序的访问一个聚集中的元素而不必暴露聚集的内部表象 2、迭代器模式的类图 3、迭代器模式涉及到的角色 从上图可以看出,迭代器模式涉及到以下几个角色 3.1、抽象迭代器角色:它定义了遍历元素所需要的接口 3.2、具体迭代器角色:实现抽象 阅读全文
posted @ 2021-08-23 14:38 bluesky1 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 1、简介 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 状态模式允许一个对象在其内部状态改变时改变其行为,这个对象看上去就像改变了他的类一样 2、状态模式类图 3、状态模式涉及到的角色 从上图可以看出 状态模式涉及到以下几个角色 3.1、抽 阅读全文
posted @ 2021-08-23 14:37 bluesky1 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 1、简介 访问者模式是对象的行为模式。访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。 2、访问者模式的使用场景 访问者模式表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素类的前提下定义作用于这些元素的新操 阅读全文
posted @ 2021-08-23 14:36 bluesky1 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 1、简介 备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式。 备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉(Capture)住,并外部化,存储起来, 从而可以在将来合适的时候把这个 阅读全文
posted @ 2021-08-23 14:34 bluesky1 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 1、简介 解释器模式是类的行为模式。给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。 它描述了如何构成一个简单的语言解释器,主要应用在使用面向对象语言开发编译器中;在实际应用中,我们可能很少碰到去构造一个语言的文法的情况。 阅读全文
posted @ 2021-08-23 14:32 bluesky1 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 1、简介 命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模式。 命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 2、命令模式类图 3、命令模式涉及 阅读全文
posted @ 2021-08-23 14:21 bluesky1 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 1、简介 命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模式。 命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 2、命令模式类图 3、命令模式涉及 阅读全文
posted @ 2021-08-23 14:01 bluesky1 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 1、简介 合成模式属于对象的结构模式,有时又叫做“部分——整体”模式。合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。合成模式可以使客户端将单纯元素与复合元素同等看待。 2、合成模式 合成模式把部分和整体的关系用树结构表示出来。合成模式使得客户端把一个个单独的成分对象和由它们复合而成的合 阅读全文
posted @ 2021-08-23 11:56 bluesky1 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 1、简介 装饰者模式又叫包装模式(wrapper),装饰者模式以对客户端透明的方式扩展对象的功能,是继承关系的一种替代方案。 装饰者与被装饰者拥有共同的超类,继承的目的是继承类型,而不是行为。 UML类图 2、装饰者模式的各个角色 2.1、抽象构件角色 :在下面例子中为Human抽象接口,目的是为了 阅读全文
posted @ 2021-08-23 11:54 bluesky1 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 1、简介 通过代理控制对象的访问,可以在这个对象调用方法之前、调用方法之后去处理/添加新的功能。(也就是AO的P微实现) 代理在原有代码乃至原业务流程都不修改的情况下,直接在业务流程中切入新代码,增加新功能,这也和Spring的(面向切面编程)很相似 2、代理模式的分类 2.1、按照目的分类:远程代 阅读全文
posted @ 2021-08-23 11:52 bluesky1 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 1、简介 享元模式是对象的结构模式,以共享的方式高效的支持大量的细粒度对象,也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。 享元对象做到共享的关键是区分内蕴状态和外蕴状态 1.1、内蕴状态:内蕴状态是存储在享元对象内部的,不会随环境改变而发生改变的。 阅读全文
posted @ 2021-08-23 11:50 bluesky1 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 1、简介 外观模式通过提供一个可以访问所有接口的一个接口,从而达到隐藏系统复杂性的目的 2、简单的示意图 3、涉及的角色 3.1、门面角色:这个角色知晓所有相关的子系统的功能和责任 3.2、子系统角色:如上图的模块A、B、C 子系统可以被客户端直接调用,也可以被门面角色调用。子系统不知道门面的存在 阅读全文
posted @ 2021-08-23 11:46 bluesky1 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 1、简介 桥梁模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化"。这句话有三个关键词,也就是抽象化、实现化和脱耦。 1.1、抽象化 :存在于多个实体中的共同的概念性联系,就是抽象化。作为一个过程,抽象化就是忽略一些信息,从而把不同的 阅读全文
posted @ 2021-08-23 11:42 bluesky1 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 1. 介绍 1.1 模式说明 定义一个包装类,用于包装不兼容接口的对象 包装类 = 适配器Adapter; 被包装对象 = 适配者Adaptee = 被适配的类 1.2 主要作用 把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法一起工作的两个类能够在一起工作。 适配器模式的形 阅读全文
posted @ 2021-08-23 11:26 bluesky1 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象 原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件: 实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机 阅读全文
posted @ 2021-08-23 11:03 bluesky1 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 1、什么是建造者模式 建造者模式:是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的方式进行创建。 工厂类模式是提供的是创建单个类的产品 而建造者模式则是将各种产品集中起来进行管理,用来具有不同的属性的产品 建造者模式通常包括下面几个角色: uilder:给出一个抽象接口,以规 阅读全文
posted @ 2021-08-23 10:42 bluesky1 阅读(35) 评论(0) 推荐(0) 编辑