
设计模式
文章平均质量分 95
蒙奇D灬小武
泥鳅沾点水就以为自己是海鲜了——自勉
展开
-
访问者模式在JDK以及Spring源码中的应用
行为型模式目录1、访问者模式(Visitor Pattern)1.1 访问者模式UML图1.2 日常生活中看访问者模式1.3 Java代码实现2、访问者模式在源码中的应用2.1 JDK源码中访问者模式体现2.2 Spring源码中访问者模式体现3、访问者模式优缺点3.1 优点3.2 缺点3.3 使用场景3.4 注意事项1、访问者模式(Visitor Pattern)最复杂的设计模式,并且使用频率不高,《设计模式》的作者评价为:大多情况下,你不需要原创 2021-01-18 00:10:58 · 1473 阅读 · 0 评论 -
观察者模式在Spring、ZooKeeper以及Dubbo源码中的应用
行为型模式目录1、观察者模式1.1 观察者模式UML图1.2 日常生活中看观察者模式1.3 Java代码实现2、观察者模式在源码中的应用2.1 Spring源码中观察者模式体现2.1.1 spring2.1.2 深入源码理解事件监听执行流程2.2 ZooKeeper源码中观察者模式体现2.2.1 使用ZooKeeper动态监视每一台电脑ip2.2.2 ZooKeeper源码2.3 Dubbo源码中观察者模式体现3、观察者模式优缺点3.1 优点3原创 2021-01-17 22:28:12 · 937 阅读 · 1 评论 -
解释器模式在Spring源码中的应用
行为型模式目录1、解释器模式(Interpreter Pattern)1.1 解释器模式UML图1.2 日常生活中看解释器模式1.3 Java代码实现2、解释器模式在Spring源码中体现3、解释器模式优缺点3.1 优点3.2 缺点3.3 使用场景3.4 注意事项1、解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等原创 2021-01-17 22:14:11 · 718 阅读 · 0 评论 -
中介者模式在JDK源码中的应用
行为型模式1、中介者模式(Mediator Pattern)说起来也简单、好理解。生活中我们租房经常都是通过中介来实现的。一般租房要么是房东直租要么是中介。那么今天要讲的中介者模式和租房的这个中介是否有关系呢?当然是有点关系的。中介者模式是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,这个类就来处理不同类之间的通讯。租房中介也是这个道理。复制与各个房东和租户之间的通讯。将多对多简化成了一对多的关系。我们下面来具体看看到底是怎么回事吧!用来降低多个对象和类之间的通信复杂性。这种模原创 2021-01-17 22:13:32 · 461 阅读 · 0 评论 -
备忘录模式在Spring源码中的应用
行为型模式目录1、备忘录模式1.1 备忘录模式UML图1.2 日常生活中看备忘录模式与应用实例1.3 Java代码实现2、备忘录模式Spring源码中的提现3、备忘录模式优缺点3.1 优点3.2 缺点3.3 使用场景3.4 注意事项3.5 多备份实现1、备忘录模式备忘录这个词汇大家应该都不陌生,我就经常使用备忘录来记录一些比较重要的或者容易遗忘的信息,与之相关的最常见的应用有许多,比如游戏存档,我们玩游戏的时候肯定有存档功能,旨在下一次登录游戏时可以原创 2021-01-05 22:03:32 · 970 阅读 · 0 评论 -
状态模式在JSF源码中的应用
行为型模式目录1、状态模式1.1 状态模式UML图1.2 日常生活中看状态模式与应用实例1.3 Java代码实现2、JSF源码中状态模式体现3、状态模式优缺点3.1 优点3.2 缺点3.3 使用场景3.4 注意事项4、总结4.1状态模式要点4.2状态模式和策略模式对比1、状态模式在状态模式(State Pattern)中,类的行为是基于它的状态改变的。在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 contex..原创 2021-01-05 21:20:30 · 452 阅读 · 2 评论 -
命令模式在JDK以及JUnit源码中的应用
行为型模式目录1、命令模式1.1 命令模式UML图1.2 日常生活中看命令模式与应用实例1.3 Java代码实现2、命令模式在源码中的应用2.1 JDK源码中命令模式体现2.2 JUnit源码中命令模式体现3、命令模式优缺点3.1 优点3.2 缺点3.3 使用场景3.4 注意事项1、命令模式命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志。以及支持可撤销的操作。说白了,就是将一系列的请求原创 2021-01-03 23:20:26 · 980 阅读 · 5 评论 -
迭代器模式在JDK以及MyBatis源码中的应用
行为型模式目录1、迭代器模式1.1 迭代器模式UML图1.2 日常生活中看迭代器模式与应用实例1.3 Java代码实现2、迭代器模式在源码中的应用2.1 JDK源码中迭代器模式体现2.2 MyBatis源码中迭代器模式体现3、迭代器模式优缺点3.1 优点3.2 缺点3.3 使用场景3.4 注意事项4、总结1、迭代器模式迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。迭代器模原创 2021-01-03 23:19:42 · 637 阅读 · 0 评论 -
责任链模式在Dubbo以及Netty源码中的应用
行为型模式目录1、责任链模式1.1 责任链模式UML图1.2 日常生活中看责任链模式与应用实例1.3 Java代码实现2、责任链模式在源码中的应用2.1 Dubbo源码中责任链模式体现2.2 Netty源码中责任链模式体现3、责任链模式的优缺点3.1 优点3.2 缺点3.3 使用场景3.4 注意事项4、职责链模式存在以下两种情况1、责任链模式为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用原创 2021-01-03 23:18:53 · 492 阅读 · 0 评论 -
策略模式在JDK以及Spring源码中的应用
行为型模式目录1、策略模式1.1 策略模式UML图1.2 日常生活中看策略模式与应用实例1.3 Java代码实现2、策略模式在源码中的应用2.1 JDK源码中策略模式体现2.2 Spring源码中策略模式体现2.2.1 Spring MVC中 DispatcherServlet 使用策略模式2.2.2实例化对象的时候用到了Strategy模式3、策略模式的优缺点3.1 优点3.2 缺点3.3 应用场景3.4 注意事项4、总结与分析1、策略.原创 2020-12-24 22:21:32 · 1858 阅读 · 0 评论 -
模板方法模式在Netty以及MyBatis源码中的应用
行为型模式1、模板方法模式在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。原创 2020-12-24 20:50:59 · 481 阅读 · 0 评论 -
委派模式在JDK以及Spring源码中的应用
行为型模式目录1、委派模式1.1 委派模式UML类图1.2 日常生活中看委派模式1.3 Java代码实现2、委派模式在源码中的应用2.1 JDK源码中委派模式体现2.2 Spring源码中委派模式体现2.2.1 IOC中对象实例化委派模式2.2.2SpringMVC中,类DispatcherServlet3、委派模式优缺点3.1 优点3.2 缺点3.3 应用场景4、委派模式与代理模式异同1、委派模式委派模式不属于GOF23种设计模式,但.原创 2020-12-23 20:55:49 · 455 阅读 · 0 评论 -
桥接模式在JDK源码中的应用
结构型模式 ————顺口溜:适装桥组享代外目录1、桥接模式1.1桥接模式UML图1.2日常生活中看桥接模式与应用实例1.3Java代码实现2、桥接模式在JDK源码中体现3、桥接模式优缺点3.1 优点3.2 缺点3.3 使用场景3.4 注意事项4、桥接模式与适配器模式4.1适配器模式与桥接模式的区别和联系4.2适配器模式与桥接模式的联合5、总结1、桥接模式桥接(Bridge)是用于把抽象化与实现化...原创 2020-12-20 20:27:00 · 1323 阅读 · 1 评论 -
适配器模式在Spring以及MyBatis源码中的应用
结构型模式 ————顺口溜:适装桥组享代外目录1、适配器模式1.1 适配器模式UML图1.2 日常生活中看装饰器模式1.3 应用实例1.4 Java代码实现1.4.1类适配器模式1.4.2对象适配器模式2、适配器模式在源码中的应用2.1 Spring源码中适配器模式体现2.1.1 AOP中的应用2.1.2 MVC中的应用2.2 MyBatis源码中适配器模式体现3、适配器模式的优缺点3.1 优点3.2 缺点...原创 2020-12-20 19:37:01 · 1491 阅读 · 1 评论 -
组合模式在JDK以及MyBatis源码中的应用
结构型模式 ————顺口溜:适装桥组享代外1、组合模式原创 2020-12-20 18:22:32 · 1034 阅读 · 0 评论 -
享元模式在Apache Pool源码中的应用
结构型模式 ————顺口溜:适装桥组享代外1、享元模式享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。说到享元模式,第一个想到的应该就是池技术了,String常量池、数据库连接池、缓冲池等等都是享元模式的应用,所以说享元模式是池技术的重要实现方式。比如我们每次创建字符串对象时,都需要创建一个新的字符串对象的话,内存开销会很...原创 2020-12-17 23:43:09 · 236 阅读 · 0 评论 -
装饰器模式在MyBatis以及Spring源码中的应用
结构型模式 ————顺口溜:适装桥组享代外目录1、装饰器模式1.1 装饰器模式UML图1.2 日常生活中看装饰器模式1.3 使用场景1.4 Java代码实现2、装饰器模式在源码中的应用2.1 MyBatis源码中装饰器模式2.1.1 Executor2.1.2 CachingExecutor (装饰器的具体实现对象)2.1.3 Cache2.1.4 具体使用2.2Spring源码中装饰器模式2.2.1Decorato...原创 2020-12-16 00:40:53 · 2639 阅读 · 1 评论 -
门面模式在MyBatis以及Tomcat源码中的应用
结构型模式 ————顺口溜:适装桥组享代外目录1、门面模式(外观模式)1.1 门面模式UML类图1.2 日常生活看门面模式1.3 使用场景1.4 Java代码实现2、门面模式在源码中应用2.1 MyBatis源码中门面模式体现2.2 Tomcat源码中门面模式体现3、门面模式优缺点及使用场景3.1 优点3.2 缺点3.3 注意事项3.4 使用场景1、门面模式(外观模式)外观模式(Facade Pattern)隐...原创 2020-12-14 01:11:14 · 731 阅读 · 0 评论 -
代理模式在Spring、MyBatis以及Feign源码中的应用
结构型模式 ————顺口溜:适装桥组享代外目录1、代理模式1.1 代理模式UML图1.2 日常生活中看代理模式1.3 使用场景1.4 java代码实现2、JDK动态代理问题2.1 为何调用代理类的方法就会自动进入InvocationHandler 的 invoke()方法呢?2.2 为什么被代理类要实现接口2.3 为什么JDK动态代理中要求目标类实现的接口数量不能超过65535个3、CGLib 和 JDK 动态代理对比4、代理模...原创 2020-12-12 22:08:56 · 1163 阅读 · 1 评论 -
原型模式在JDK以及Spring源码中如何进行串联
1、原型模式原创 2020-12-12 18:32:25 · 503 阅读 · 0 评论 -
单例模式在JDK以及Spring源码中如何进行串联
创建型模式目录1、单例模式1.1 单例模式UML图1.2 日常生活中看单例模式1.3 使用场景1.4 具体例子1.4.1 背景1.4.2 网站计数的单例实现2、单例模式在源码中的应用2.1JDK源码中单例模式2.2 Spring源码中单例模式3、单例模式优缺点与场景3.1 优点3.2 缺点3.3 使用注意事项3.4 适用场景3.5 应用场景举例4、实现单利模式的原则和过程1、单例模式单例模式(Singleton Patte..原创 2020-12-08 23:52:11 · 1288 阅读 · 0 评论 -
建造者模式在Netty,MyBatis以及spring源码中如何进行串联
1、原创 2020-12-07 23:13:24 · 447 阅读 · 0 评论 -
抽象工厂模式在spring源码中的应用
创建型模式目录1、抽象工厂模式1.1 抽象工厂的UML类图1.2 日常生活中看抽象工厂模式1.3 具体例子2、抽象工厂模式在spring源码中的应用3、抽象工厂优缺点3.1 优点3.2 缺点3.3 使用场景1、抽象工厂模式抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。在抽象原创 2020-12-02 00:16:41 · 3281 阅读 · 2 评论 -
工厂模式在Logback以及Dubbo源码中的应用
创建型模式目录1、工厂模式1.1 工厂模式的UML类图1.2 日常生活看工厂模式1.3 具体例子——拍摄《速度与激情8》需要车库外的车为例1.4 另一个例子,实现加减乘除,简单工厂模式与工厂模式异同比较2、工厂模式在Logback源码中的应用3、工厂模式在Dubbo源码中的应用4、简单工厂和工厂的区别4.1 简单工厂模式优点4.2 工厂模式4.3 工厂模式优点4.4 工厂模式缺点1、工厂模式工厂模式方法(factory method),定义一个用原创 2020-12-01 00:02:51 · 474 阅读 · 0 评论 -
简单工厂模式在Logback源码以及JDK源码中的应用
一、创建型模式1、简单工厂模式在Logback源码以及JDK源码中的应用原创 2020-11-30 00:31:12 · 1057 阅读 · 0 评论