定义
访问者模式Visitor是⼀种⾏为设计模式, 它能将算法与其所作⽤的对象隔离开来。
需求:构建了一个IDC机房,要对每一个服务器的状态进行处理,要知道服务器在运行过程中,并不止运维这一个角色,而是由多种角色来组合的,比如运维工程师比较关注硬件的状态,软件工程师比较关注软件的...
2年前 (2022-10-03) 1156℃
0喜欢
定义
模板⽅法模式(Template Method)是⼀种⾏为设计模式, 它在超类中定义了⼀个算法的框架, 允许⼦类在不修改结构的情况下重写算法的特定步骤。
基本思想是:算法只存在于一个地方,也就是在父类中,容易修改。需要修改算法时,只要修改父类的模板方法或者已经实现的某些步骤,...
2年前 (2022-10-03) 6283℃
0喜欢
定义
状态模式:它主要用来解决对象在多种状态转换时,需要对外输出不同的行为的问题。状态和行为是一一对应的,状态之间可以相互转换
当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类
状态模式结构
代码示例
需求:视频网站有着会员和很多视频,会员又分为三级,普...
2年前 (2022-10-03) 925℃
0喜欢
定义
策略模式Strategy是⼀种⾏为设计模式, 它能让你定义⼀系列算法, 并将每种算法分别放⼊独⽴的类中, 以使算法的对象能够相互替换。
策略模式的结构
案例代码
需求:项目中和数据库打交道,Java中通常会开发一些Dao数据访问对象,来完成与数据库的增删改查操作。但是在J...
2年前 (2022-10-03) 1063℃
0喜欢
定义
中介者模式Mediator属于⾏为模式, 能让你减少对象之间混乱⽆序的依赖关系。 该模式会限制对 象之间的直接交互, 迫使它们通过⼀个中介者对象进⾏合作。
原始设计
改进后引入中介者
中介者模式结构
中介者模式⼜称为调停者模式,从类图中看,共分为3部分:...
2年前 (2022-10-03) 923℃
0喜欢
定义
迭代器模式属于行为模式,提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。
如果我们的集合元素是用不同的方式实现的,有数组,还有 java 的集合类,或者还有其他方式,当客户端要遍历这些集合元素的时候就要使用多种遍历方式,而且还会暴露元素的内部结构,可以考...
2年前 (2022-10-03) 858℃
0喜欢
享元模式基本介绍
1、享元模式: 运用共享技术有效地支持大量细粒度的对象
2、常用于系统底层开发,解决系统的性能问题。像 数据库连接池,里面都是创建好的连接对象,在 这些连接对象中有我们需要的则直接拿来用,避 免重新创建,如果没有我们需要的,则创建一个
3、享元模式能够解决重复对...
2年前 (2022-10-03) 846℃
0喜欢
组合模式介绍
组合模式,主要是用来处理树形结构数据。这里的“数据”,可以简单理解为一组对象集合。
正因为其应用场景的特殊性,数据必须能表示成树形结构,这也导致了这种模式在实际的项目开发中并不那么常用。但是,一旦数据满足树形结构,应用这种模式就能发挥很大的作用,能让代码变得非常简洁...
2年前 (2022-10-03) 3772℃
0喜欢
JVM内存结构位置
虚拟机栈概述
Java虚拟机栈是什么
Java虚拟机栈(Java Virtual Machine Stack),早期也叫Java栈。每个线程在创建时都会创建一个虚拟机栈,其内部保存一个个的栈帧(Stack Frame),对应着一次次的Java方法调用,栈是线...
2年前 (2022-09-27) 2110℃
2喜欢
堆、栈、方法区的交互关系
下面涉及了对象的访问定位
1、Person 类的 .class 信息存放在方法区中
2、person 变量存放在 Java 栈的局部变量表中
3、真正的 person 对象存放在 Java 堆中
4、在 person 对象中,有个指针指向方法区中的 pe...
2年前 (2022-09-27) 1106℃
0喜欢