设计模式
设计模式
我是陈旭原
生命不息 运动不止
展开
-
【设计模式】- 状态模式
文章目录什么是状态模式状态模式应用场景状态模式实现需要重构的代码状态模式与策略模式区别策略模式结构图:状态模式结构图状态模式实现什么是状态模式状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。状态模式应用场景1.一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为。2.操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态。这个状态通常用一个或多个枚举常量表示。 通常,有多个操作包含这一相同的条件结构。State模式将每一个原创 2020-06-01 10:53:52 · 349 阅读 · 0 评论 -
【设计模式】- 单例模式
文章目录1、单例设计模式介绍2、单例设计模式八种方式3、饿汉式(静态常量)4、饿汉式(静态代码块)5、懒汉式(线程不安全)6、懒汉式(线程安全,同步方法)7、懒汉式(线程安全,同步代码块)8、双重检查9、静态内部类10、枚举11、单例模式在 JDK 应用的源码分析12、单例模式注意事项和细节说明本博客源码地址:https://github.com/suchahaerkang/design-p...原创 2020-04-14 10:49:22 · 294 阅读 · 0 评论 -
【设计模式】- 工厂模式
文章目录1、简单工厂模式2、工厂方法模式(Factory Method)3、抽象工厂模式(Abstract Factory)4、工厂模式在 JDK-Calendar 应用的源码分析5、总结:工厂顾名思义就是创建产品,根据产品是具体产品还是具体工厂可分为简单工厂模式和工厂方法模式,根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式。该模式用于封装和管理对象的创建,是一种创建型模式。本文从一个具体...原创 2020-04-09 10:48:20 · 192 阅读 · 0 评论 -
【设计模式】- 建造者模式
文章目录1、小案例2、传统方式解决盖房需求3、传统方式的问题分析4、建造者模式基本介绍5、建造者模式的四个角色6、建造者模式原理类图7、建造者模式解决盖房需求应用实例8、建造者模式在 JDK 的应用和源码分析9、建造者模式的注意事项和细节本博客源码地址:https://github.com/suchahaerkang/design-pattern.git1、小案例盖房子项目需求1)需要...原创 2020-04-08 17:48:11 · 113 阅读 · 0 评论 -
【设计模式】- 适配器模式
文章目录一、小案例本博客源码地址https://github.com/suchahaerkang/design-pattern.git一、小案例1、泰国插座用的是两孔的(欧标),可以买个多功能转换插头 (适配器) ,这样就可以使用了。2、基本介绍1. 适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能...原创 2020-04-01 11:58:39 · 156 阅读 · 0 评论 -
【设计模式】- 模板方法
文章目录1 小案例2 模板方法模式基本介绍3 模板方法模式原理类图4 模板方法模式解决豆浆制作问题4.1 应用实例要求4.2 思路分析和图解(类图)4.3 代码实现5 模板方法模式的钩子方法6 模板方法模式在 Spring 框架应用的源码分析7 模板方法模式的注意事项和细节本博客源码地址:https://github.com/suchahaerkang/design-pattern.git1...原创 2020-03-31 13:42:15 · 147 阅读 · 0 评论 -
【设计模式】- 代理模式
文章目录1 定义2 静态代理1 定义1.1 代理模式:给一个目标对象创建一个代理对象,代理对象可以获得控制这个目标对象的权限。既可以通过代理对象访问目标对象,对目标对象的功能进行增强1.2 代理模式的方式有三种:1)静态代理, 2)动态代理(又叫JDK代理或接口代理),3)Cglib代理(目标对象不需要实现接口,代理对象在内存中是动态生成的,有的教程把它归类于动态代理)下面有个场景:现在有...原创 2020-03-10 15:19:36 · 139 阅读 · 0 评论