自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java的深度克隆和浅度克隆

克隆实现 Object类里有个clone方法,用对象.clone()来拷贝原对象 克隆测试 public class Car { private int color; private String name; private int[] gls; private Object engine; public void setColor(int color) { this.color = color; } public void

2020-08-11 21:42:59 127

原创 解释器模式

定义 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子 应用场景 对于一些固定文法构建一个解释句子的解释器,如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。例如:SQL、XML、正则解析。 组合模式的结构 抽象表达式(Abstract Expression)角色:定义解释器的接口,约定解释器的解释操作,主要包含解释方法 interpret()。

2020-08-11 21:36:35 139

原创 组合模式

定义 组合多个对象形成树形结构以表示有整体-部分关系层次结构,组合模式可以让客户端统一对待单个对象和组合对象 应用场景 存在父子层级关系,父子可用同一个对象表示。 组合模式正是应树形结构而生,所以组合模式的使用场景就是出现树形结构的地方。比如:文件目录显示,多及目录呈现等树形结构数据的操作。 组合模式的结构 抽象构件(Component)角色:它的主要作用是为树叶构件和树枝构件声明公共接口,并实现它们的默认行为。在透明式的组合模式中抽象构件还声明访问和管理子类的接口;在安全式的组合模式中不声明访问和管理子

2020-08-10 21:45:13 120

原创 访问者模式

定义 命令模式是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。 将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请 求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 应用场景 有时候需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是什么。此时希望用一种松耦合的方式来设计程序,使得请求发送者和请求接收者能够消除彼此之间的耦合关系 命令模式

2020-08-10 21:07:06 135

原创 命令模式

定义 命令模式是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。 将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请 求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 应用场景 有时候需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是什么。此时希望用一种松耦合的方式来设计程序,使得请求发送者和请求接收者能够消除彼此之间的耦合关系 命令模式

2020-08-09 20:09:33 143

原创 JDK动态代理

什么代理 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。 代理原理 JDK 动态代理 public interface ICreateLoan2 { void create(); } public class GuaranteeCreateLoan implements ICreateLoan2 { @Override public void create(

2020-08-09 19:36:11 111

原创 迭代器模式

定义 迭代器模式提供了一种方法顺序访问一个聚合对象中的各个元素,而又无需暴露该对象的内部实现,这样既可以做到不暴露集合的内部结构,又可让外部代码透明地访问集合内部的数据 应用场景 访问一个集合对象的内容而无需暴露它的内部表示 为遍历不同的集合结构提供一个统一的接口 迭代器模式的结构 客户端(client) 抽象容器角色(Aggregate):负责提供创建具体迭代器角色的接口,一般是一个接口,提供一个iterator()方法,例如java中的Collection接口,List接口,Set接口等。

2020-08-09 19:20:12 164

原创 单例模式

单例模式单例模式描述应用场景上代码饿汉模式懒汉模式 单例模式描述 客户端不再考虑是否需要实例化的问题,把责任都给了应负责的类处理。保证一个类仅有一个或者有限的实例,并提供一个全局生成实例化对象的入口。 应用场景 频繁创建对象然后再销毁 创建对象时耗时过多或者耗资源过多,但又经常用到的对象 有状态的工具类对象 频繁访问数据库或文件的对象 上代码 饿汉模式 事先准备好对象待使用 public class HungryDbConnect { private HungryDbConnect()

2020-07-27 17:40:58 94

原创 工厂模式

简单工厂,工厂方法,抽象工厂工厂模式分类上代码简单工厂工厂方法抽象工厂 工厂模式分类 简单工厂:工厂里维护业务需要的全部对象,客户端请求时,工厂根据具体业务需求返回所需对象。缺点是增加新的业务对象,需要改判断逻辑,违反了开闭原则,客户端依赖工厂实现并不是依赖抽象违反了依赖倒置。 工厂方法模式:弥补了简单工厂设计上的缺陷。定义抽象工厂,每个业务实现对应一个工厂实例去生产对象。 抽象工厂模式:工厂方法模式每次只能生产同一产品统一零件的不同对象,比如不同汽车配不同发动机,可满足当前业务需求。当不同汽车需要不同发动

2020-07-27 00:18:56 100

原创 设计模式分类

设计模式分类 创建型 对象创建的过程进行封装,抽象对象实例化过程。 程序只需要去获取使用对象,不需要关系创建的过程。 创建型设计模式 功能介绍 单例(Singleton) 某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓展是有限多例模式。 工厂方法 (Factory Method) 定义一个用于创建产品的接口,由子类决定生产什么产品。 抽象工厂 (AbstractFactory) 提供一个创建产品族的接口,其每个子类可以生产一系列相关的产品。 原型 (Pro

2020-07-27 00:18:33 85

原创 设计原则

设计模式欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编

2020-07-22 13:52:29 134

jdk-8u301-windows-x64.zip

官方原版jdk jdk-8u301-windows-x64

2021-08-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除