
设计模式
文章平均质量分 66
只写使用过的设计模式
吴法刚
从现在我下了一个决定把自己学习过的东西都写成文章发表出来,大家共同学习共同探讨,知识无边界。。欢迎交流技术
展开
-
jdk动态代理源码分析
自己动手写一个动态代理框架前言jdk 动态代理的原理 前言 上一篇中我们知道动态代理的使用, Javase 专题之 静态代理和动态代理 我们只知道其中的使用,但是原理是什么? 不明白原理只知皮毛不是我们的目的,今天看看jdk如何实现的动态代理,我们如何简单实现一个动态代理? jdk 动态代理的原理 拿到被代理对象的引用,然后获取它的接口 jdk代理重新生成一个类,同时实现我们给的代理所实现的接口 把被代理对象的引用也拿到 重新动态生成一个class字节码 然后编译 ...原创 2023-06-05 07:07:44 · 1101 阅读 · 0 评论 -
我在京东使用工厂模式,一文说清楚工厂模式
在开发中工厂模式使用的非常频繁,无非就是无外乎是对象的创建,但是在实践中我们如何使用的比较多…首先我们要分清楚工厂类和工厂要创建的类,工厂要创建的类,我们平时该怎么定义还是怎么定义,不管是什么工厂模式,都不会影响这一步相关内容,我们平时往往喜欢使用一个简单的类,单在开发中类的结构是非常复杂的,因此我们不关心类的结构我们只关心工厂相关的实现说白了,我们今天就是探讨的红框中的实现,是如何来实现,平时我们听到的名称这种方式我经常在业务代码中使用。...原创 2022-07-16 17:15:37 · 283 阅读 · 0 评论 -
别再用if-else了,使用工厂和策略模式替代
这是一个不同的活动可能会存在不同的校验,但是如何实现,当时为了完成任务,并且就一种活动,所以直接写了一个方法进行校验,没什么意思,不上代码了 阶段二:使用if-else加策略模式实现 策略模式的定义 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 这里借用一个图,懒得画了,总结下原创 2021-07-15 06:20:45 · 908 阅读 · 2 评论 -
一文拿下单例模式的七种写法
对对对原创 2021-01-20 23:56:57 · 366 阅读 · 0 评论 -
抽象工厂
昨天我们看了下工厂方法,今天我们来看看抽象工厂,这二者有什么联系和区别吗? 简单的理解: 都是为了封装创建对接而封装的模式,不同点,工厂方法是创建对象比较困难,我们使用工厂创建,减少客户端的压力,抽象工厂是解决工厂本身就很难创建的问题,所以抽象工厂又叫工厂的工厂 ...原创 2021-01-17 23:18:33 · 187 阅读 · 0 评论 -
工厂模式(又名静态工厂)
工厂模式简单工厂模式工厂方法简单了解下spring中如何使用 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 其实我们平时经常遇到这种模式: 比如:factory. creatConnection() factory.getBean()等等这种写法我们是不是非常熟悉,只是很少去追踪这个地方底层到底怎么实现原创 2021-01-17 23:17:44 · 376 阅读 · 0 评论 -
Javase 专题 反射和动态代理 aop
动态代理与AOP面向切面编程 *至于什么是面向切面编程自己百度这里要表达的意思就是 *再调用固定的方法中间有些固定的方法调用的实现 /** * 动态代理与AOP面向切面编程 *至于什么是面向切面编程自己百度这里要表达的意思就是 *再调用固定的方法中间有些固定的方法调用的实现 */ interface Jisuan{ public int jisuan(int a, in原创 2016-11-24 17:34:15 · 418 阅读 · 0 评论 -
Javase 专题之 静态代理和动态代理
代理:设计模式 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。 图 1. 代理模式 为了保持行为的一致性,代理类和委托类通常会实现相同的接口,所以在访问者看来两者没有丝毫的区别。通过代理类这中间一层,能有效控制对委托类对象的直接访问,也可以很好地隐藏和保原创 2016-11-24 17:27:21 · 446 阅读 · 0 评论