Java设计模式
文章平均质量分 76
yyangqqian
这个作者很懒,什么都没留下…
展开
-
设计模式 之行为型设计模式
文章目录委派模式(Delegate Pattern)委派模式模拟任务分配委派模式在JDK中的应用委派模式在Spring中的应用模板方法(Template Method Pattern)模板方法模拟上班模板方法在 Spring 中的应用策略模式(Strategy Pattern)策略模式实现购买商品使用不同的支付方式策略模式在JDK中的应用策略模式在Spring中的应用责任链模式责任链模式实现登录校验责任链模式在Spring中的应用迭代器模式 行为型设计模式:关注对象之间的通信。 委派模式(Delegate原创 2021-04-28 21:16:25 · 455 阅读 · 0 评论 -
设计模式 之建造者模式
建造者模式定义 将一个复杂对象的构建过程与它的表示分离。 适用场景 当一个类的构造函数参数个数超过4个,而且这些参数有些是可选的参数,考虑使用构造者模式。 @Data public class Computer { private String cpu; private int usbCount; public static void main(String[] args) { Computer computer1 = new Builder().addCpu("In原创 2021-04-27 21:14:38 · 67 阅读 · 0 评论 -
Java设计模式 之七大设计原则
LSP原则:任何基类可以出现的地方,子类一定可以出现 迪米特法则:一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立。 CRP法则:尽量使用合成/聚合的方式,而不是使用继承。 1、开闭原则(Open Close Principle) 2、里氏代换原则(Liskov Substitution Principle) 里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 L原创 2021-03-13 23:04:21 · 285 阅读 · 0 评论 -
Java设计模式 之用策略+工厂模式替换业务复杂=if else
策略接口: import java.math.BigDecimal; /** * 用户支付策略接口 */ public interface UserPayStrategy { /** * 计算应付价格 */ BigDecimal quote(BigDecimal orderPrice); } 策略实现类: import org.springframework.stereotype.Service; import java.math.BigDecimal; /**原创 2020-05-13 15:13:30 · 665 阅读 · 0 评论 -
Java设计模式 之入门总结
设计模式分类 创建型:简单工厂模式(并不是23种设计模式之一)、工厂方法、抽象工厂模式、单例模式、生成器模式和原型模式 结构型:适配器模式adapter、桥接模式bridge、组合器模式component、装饰器模式decorator、门面模式、亨元模式flyweight和代理模式proxy 行为型:命令模式command、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式st...原创 2019-09-27 14:29:02 · 121 阅读 · 0 评论 -
Java设计模式 之工厂模式
参考: JAVA设计模式——工厂方法模式和抽象工厂模式原创 2019-09-27 10:45:06 · 183 阅读 · 0 评论 -
Java设计模式 之单例模式
单例模式概念 确保某一个类只有一个实例。 懒汉式,线程不安全 public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return原创 2019-09-27 17:00:00 · 110 阅读 · 0 评论 -
Java设计模式 之适配器模式
文章目录引入适配器模式适配器模式思想适配器模式的3个角色类适配器模式对象适配器模式接口适配器模式 引入适配器模式 首先,先来先讲讲适配器。适配就是由源到目标的适配,而当中链接两者的关系就是适配器。它负责把源过度到目标。 举个例子:比如有一个源是一个对象人,他拥有2种技能分别是说日语和说英语,而某个岗位(目标)需要你同时回说日语、英语、和法语,现在我们的任务就是要将这个源适配到这个岗位中,如何适配呢...原创 2019-09-27 16:58:50 · 113 阅读 · 0 评论 -
Java设计模式 之策略模式
文章目录策略模式思想编写步骤案例前言具体案例实现 策略模式思想 其思想是针对一组算法,将每一种算法都封装到具有共同接口的独立的类中,从而是它们可以相互替换。策略模式的最大特点是使得算法可以在不影响客户端的情况下发生变化,从而改变不同的功能。 组成 编写步骤 定义抽象策略角色(为策略对象定义一个公共的接口) 编写具体策略角色(实际上就是实现上面定义的公共接口) 定义环境角色,内部持有一个策略类的引...原创 2019-09-27 14:59:47 · 140 阅读 · 0 评论 -
Java设计模式 之装饰模式
JAVA设计模式——装饰模式原创 2019-09-26 17:44:57 · 265 阅读 · 0 评论 -
Java设计模式 之代理模式
文章目录代理模式思想代理模式涉及3个角色静态代理JDK动态代理Cglib动态代理JDK和Cglib动态代理区别代理模式的使用场景 代理模式思想 代理模式是一种结构型设计模式。 思想:给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。 代理模式涉及3个角色 抽象对象(Subject):代理和目标的共同接口。共同的接口使得任何可以使用目标对象的地方都可以使用代理对象。 目标对象(Targ...原创 2019-09-27 16:40:33 · 110 阅读 · 0 评论 -
Java设计模式 之门面模式
门面模式 案例前言 给女朋友写情书,写信的过程:1、先写信的内容。2、然后写信封上的地址。3、然后把信放到信封中封好。4、投递到信箱中进行邮递。比如到了情人节,要给很多个女朋友写信,每个步骤都要自己跑,那不要累死。还好,现在邮局开发了一个新业务,你只要把信件的必要信息高速我,我给你发,我来做这四个过程,你就不要管了,只要把信件交给我就成了。 案例实现 定义一个写信的过程。 public inte...原创 2019-09-27 15:02:09 · 463 阅读 · 0 评论 -
Java设计模式 之观察者模式
文章目录观察者模式 观察者模式 别名:发布-订阅(Publish/Subscribe)模式。 概念:观察者模式用于建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应作出反应。在观察者模式中,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间可以没有任何相互联系,可以根据需要增加和删除观察者,使得系统更易于扩展...原创 2019-09-27 17:00:53 · 100 阅读 · 0 评论 -
Java设计模式 之命令模式
文章目录命令模式的思想命令模式涉及5个角色命令模式案例案例前言案例代码实现 命令模式的思想 把一个请求或者操作封装到一个对象中,允许系统使用不同的请求把客户端参数化,从而实现对请求排队或者记录请求日志、提供命令的撤销和恢复功等能。 命令模式涉及5个角色 客户(Client):创建一个具体命令对象并确定其接收者。 抽象命令(Command):声明了一个给所有具体命令类的抽象接口。 具体命令(Con...原创 2019-09-29 16:30:51 · 100 阅读 · 0 评论 -
JAVA设计模式 之模板方法模式
文章目录模板方法模式简介模板方法模式涉及到2个角色模板方法模式案例 模板方法模式简介 模板方法模式是一种行为型设计模式。 思想: 定义了一个算法的骨架,而将一些步骤延迟到子类中,模版方法使得子类可以在不改变算法结构的情况下,重新定义算法的步骤。 模板方法模式涉及到2个角色 抽象模板(Abstract Template): 定义了一个或多个抽象操作,以便让子类实现。这些抽象操作叫做基本操作,它们是...原创 2019-10-11 16:29:14 · 129 阅读 · 0 评论