你の我飛翔
你の我飛翔
全部文章
设计模式
JAVA面试题(6)
并发编程(2)
数据结构与算法(4)
闲聊(9)
项目框架相关(3)
归档
标签
去牛客网
登录
/
注册
亲爱の客栈
stay foolish stay hungry
全部文章
/ 设计模式
(共20篇)
装饰器模式
package Dacorator; public class Client { public static void main(String[] args) { /*声明抽象的包子类,多态的方式用具体类包子 * 每次new都会在包子的基础上加东西*/ ...
2020-05-21
0
494
责任链模式
定义: 使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。 类型: 行为类模式 一段代码: public void test(int i, Request request){ if(i==1){ ...
2020-05-21
0
476
策略模式
定义:定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。 类型:行为类模式 策略模式是对算法的封装,把一系列的算法分别封装到对应的类中,并且这些类实现相同的接口,相互之间可以替换。在前面说过的行为类模式中,有一种模式也是关注对算法的封装——模版方法模式。 对照类图可以看到,策略模式与模版方...
2020-05-21
0
438
状态模式
概述 当系统中某个对象存在多个状态,这些状态之间可以进行转换,而且对象在不同状态下行为不相同时可以使用状态模式。状态模式将一个对象的状态从该对象中分离出来,封装到专门的状态类中,使得对象状态可以灵活变化。状态模式是一种对象行为型模式。 适用场景 用于解决系统中复杂对象的多种状态转换以及不同状态下...
2020-05-20
0
646
解释器模式
定义:给定一种语言,定义他的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中句子。 类型:行为类模式 解释器模式是一个比较少用的模式,本人之前也没有用过这个模式。下面我们就来一起看一下解释器模式。 解释器模式的结构 抽象解释器:声明一个所有具体表达式都要实现的抽象接口(或者抽象类),...
2020-05-20
0
410
备忘录模式
定义: 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态。 类型: 行为类 常见形式: 我们在编程的时候,经常需要保存对象的中间状态,当需要的时候,可以恢复到这个状态。比如,我们使用Eclipse进行编程时,假如编写失误(例如不小心误...
2020-05-20
0
515
终结者模式
定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。 类型:行为类模式 类图: 中介者模式的结构 中介者模式又称为调停者模式,从类图中看,共分为3部分: 抽象中介者:定义好同事类对象到中介者对象的接口,用于各个同事类之间的...
2020-05-20
0
465
观察者模式
定义: 定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。 类型: 行为类模式 在软件系统中经常会有这样的需求:如果一个对象的状态发生改变,某些与它相关的对象也要随之做出相应的变化。 比如,我们要设计一个右键菜单的功能,只要在软...
2020-05-20
0
468
迭代器模式
定义:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。 类型:行为类模式 如果要问java中使用最多的一种模式,答案不是单例模式,也不是工厂模式,更不是策略模式,而是迭代器模式,先来看一段代码吧: public static void print(Collection coll)...
2020-05-20
0
430
访问者模式
定义 封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。 类型: 行为类模式 解决数据结构和操作耦合性问题 基本工作原理:在被访问的类里面加入了一个对外提供接待访问者的接口 代码演示 我们首先来看一个简单的例子,代码如下 class A { ...
2020-05-20
1
520
首页
上一页
1
2
下一页
末页