设计模式
文章平均质量分 78
圆师傅
这个作者很懒,什么都没留下…
展开
-
单例模式:枚举与双重检查锁
文章目录1. 单例模式1.1 饿汉式的单例模式1.2 懒汉式单例模式2.为什么使用枚举类是线程安全的单例模式? 1. 单例模式 单例模式相信大家都不陌生,这里提供一个使用枚举类实现单例模式的例子。 1.1 饿汉式的单例模式 public class YYSingletonDemo { private YYSingleton() { } private enum YYSingleton { INSTANCE; } public static Y原创 2021-06-26 22:48:49 · 939 阅读 · 0 评论 -
JDK动态代理源码解析
文章目录1. 代理模式1.1 什么是代理模式?1.2 代理模式的结构1.3 种类2.静态代理2.1 实例2.2 优缺点3.动态代理3.1 为什么字节码可以动态生成?3.2 动态代理的两个实现方式3.2.1 JDK动态代理3.2.1 CGLIB代理3.3 两种动态代理方式的对比 1. 代理模式 1.1 什么是代理模式? 在访问对象时,直接访问对象会给使用者或者系统结构带来很多麻烦,因此我们就可以在访问次对象的基础上加上一个对此对象的访问层。给某一个对象提供一个代理,并由代理对象来控制真实对象的访问。 1.2原创 2021-04-03 18:35:38 · 1167 阅读 · 0 评论 -
设计模式之建造者模式:静态内部类实现方式
文章目录1.为什么需要建造者模式?1.1 遇到的问题1.2 解决办法一set方法2.建造者模式是什么?3.上面的例子怎么改?4.总结 1.为什么需要建造者模式? 1.1 遇到的问题 当我们在创建一个对象的时候,我们可以声明带参数的构造函数,例如有如下的这样一个pojo: package com.example.demo.entity; public class Robot { private String manufacturer; private String name; pri原创 2021-01-28 16:55:13 · 764 阅读 · 0 评论 -
设计模式之策略模式
1、什么是策略模式? 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 2、解决了什么问题? 在有多种算法相似的情况下,使用 if…else 所带来的复杂和难以维护。 3、有什么优缺...原创 2019-08-22 15:17:27 · 154 阅读 · 0 评论 -
设计模式之工厂模式
1、什么是工厂模式? 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 2、解决了什么问题? 主要解决接口选择的问题。当创建一个对象的时候,不需要关注创建的逻辑,只需要告诉工厂需要一个什么样的对象即...原创 2019-08-22 17:04:08 · 157 阅读 · 0 评论