设计模式
_chenyl
努力从现在开始
展开
-
还在用jdk那鸡肋的观察者模式?五分钟学会完美的观察者模式
1. 前言 如果某个对象的改变会引起其它很多对象的改变,就可以用观察者模式。观察者模式定义了对象之间一对多的关系,当一个对象改变后,其他对象都会收到通知 2. 实现一个观察者模式 有这样一个场景:已经可以预约新冠疫苗了,丈八附近的几千人都订阅了丈八社区公众号,等到疫苗批次(第一针、第二针、第三针)到了之后,这些人都会收到打疫苗通知,然后去打疫苗或者懒得去打。这里面丈八社区就是被观察者(Subject),打疫苗的人就是观察者(Observer)。 1. 定义主题接口 /** * @author yulin.原创 2021-07-20 14:58:16 · 361 阅读 · 0 评论 -
设计模式-代理模式(Proxy Pattern)
文章目录一、概念1.1 作用2 分类2.1 静态代理2.1.1 特点:2.1.2 缺点:2.1.3 实现:2.2 jdk动态代理2.2.1 特点:2.2.2 缺点:2.2.3 实现:2.3 CGLIB动态代理2.3.1 特点:2.3.2 实现: 一、概念 为目标对象提供一种代理,以控制对其的访问。代理对象相当于中介,可以去掉功能服务或者增加添加额外功能服务。 举例: 今天我想去服装店A买件衣服,一...原创 2018-10-11 12:15:34 · 230 阅读 · 0 评论 -
设计模式-单例模式(Singleton Pattern)
一、概念 1.1 定义 它是一种创建类的对象的模式,能够确保系统中只产生该类的一个对象。 1.2 作用 可以省略那些被频繁使用的对象的创建时间,节省系统开销。 降低内存使用频率,减轻GC压力,缩短GC停顿时间。 二、种类 2.1 饿汉式单例 public class Singleton1 { /** * 必须有一个private修饰的构造器 */ priva...原创 2018-10-12 11:20:50 · 159 阅读 · 0 评论 -
设计模式-建造者模式(Builder Pattern)
【声明】本文教程由菜鸟教程稍作格式变动而来,因为个人觉得菜鸟教程对建造者模式讲解十分详尽、通俗易懂,案例也十分奇妙。有人将原文进行精简改装写出来有不少漏洞,可能会误导读者。原文地址:link 1 概述 1.1 定义 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 一个 Builder 类...原创 2018-11-01 20:53:29 · 230 阅读 · 0 评论 -
常用的设计模式整理
代理模式 策略模式 适配器模式 装饰模式 单例模式 观察者模式原创 2019-07-29 10:28:34 · 178 阅读 · 0 评论