
设计模式
文章平均质量分 92
设计模式
不愿放下技术的小赵
这个作者很懒,什么都没留下…
展开
-
设计模式学习(十二)用设计模式干掉 if-else,太优雅了!
设计模式学习(十二)用设计模式干掉 if-else,太优雅了!原创 2023-10-13 11:40:20 · 751 阅读 · 0 评论 -
设计模式学习(十一)责任链模式
设计模式学习(十一)责任链模式原创 2023-10-09 21:05:11 · 312 阅读 · 0 评论 -
设计模式学习(十)观察者模式(发布订阅模式)
目录1.定义2.适用场景3.案例一:在学习平台提问时@老师UML类图代码实现4.案例二:鼠标点击监听时间UML类图代码实现5.案例三:使用Guava实现5.在源码中的体现ContextLoaderListener6.装饰者模式的优点7.装饰者模式的缺点1.定义观察者模式(Observer Pattern)定义了对象之间一对多依赖,让多个观察者同时监听一个主体对象,当主体对象发生变化时,它的所...原创 2020-03-21 21:07:11 · 274 阅读 · 1 评论 -
设计模式学习(九)装饰者模式
目录1.定义2.适用场景3.案例一:买煎饼加鸡蛋加肠UML类图代码实现4.案例二:UML类图代码实现5.在源码中的体现BufferedReader、InputStreamTransactionAwareCacheDecorator 类HttpHeadResponseDecorator 类MyBatis 中的Cache 类6.装饰者模式的优点7.装饰者模式的缺点8.补充1.定义装饰者模式(De...原创 2020-03-10 11:31:09 · 195 阅读 · 0 评论 -
设计模式学习(八)适配器模式
适配器模式定义适用场景案例一:220V和5V 交流电的转换UML类图代码实现案例二:多平台登录注册功能UML类图代码实现在源码中的体现Spring-AOP 的 AdvisorAdapterSpring-Web 的 HandlerAdapter适配器模式的优点适配器模式的缺点定义适配器模式(Adapter Pattern)是指将一个类的接口转换成客户期望的另一个接口,使原本的接口不兼容的类可以一...原创 2019-12-13 16:07:05 · 224 阅读 · 0 评论 -
设计模式学习(七)模板模式
模板模式定义适用场景UML类图代码实现NetworkCourseJavaCourseBigDataCourse测试类输出结果模板模式的优点模板模式的缺点定义模板模式通常又叫做模板方法模式(Template Method Pattern)是指定义一个算法的骨架,并允许子类为一个或者多个步骤提供实现。模板方法使得子类可以再不改变算法结构的情况下,重新定义算法的某些步骤。属于行为型设计模式。适...原创 2019-12-09 12:13:25 · 212 阅读 · 0 评论 -
设计模式学习(六)策略模式
设计模式学习(六)策略模式定义应用场景案例一: 针对订单的不同支付方式UML类图代码实现案例二: 针对促销的不同优惠活动UML类图代码实现和其他设计模式的结合定义策略模式(Strategy Pattern)是指定义了算法家族,将算法逻辑分别封装起来,让他们之间可以相互替换,让算法的变化不会影响到使用算法的用户。可以避免多重分支的if…else…和switch语句。应用场景假如系统中有很...原创 2019-12-01 18:42:53 · 188 阅读 · 0 评论 -
设计模式学习(五)委派模式
设计模式学习(五)委派模式定义应用场景模拟场景UML类结构图代码实现模拟DispatcherServlet中委派模式的使用定义委派模式是指两个对象参与处理同一个请求,接收请求的对象将请求委托给另一个对象来处理。它的基本作用就是负责任务的调度和分派任务。跟代理模式很像, 但是代理模式注重过程, 而委派模式注重结果。应用场景委派模式主要用于消除程序中大量的if…else…和switch语句。...原创 2019-12-01 17:06:16 · 278 阅读 · 0 评论 -
设计模式学习(四)代理模式
目录1.静态代理2.动态代理2.1JDK动态代理2.2CGlib动态代理3.静态代理和动态代理的区别:4.代理模式的优缺点 代理模式:为其他对象提供一种代理以控制这个对象的访问。 目的:1.保护目标对象;2.增强目标对象1.静态代理UML类结构图:代码实现:(以父亲给儿子介绍对象为例)Person接口public inter...原创 2019-09-11 21:53:31 · 174 阅读 · 0 评论 -
设计模式学习(三)原型模式
原型模式(Prototype Pattern)是指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。适用场景:1.类初始化消耗资源较多。2.new产生的一个对象需要非常繁琐的过程(数据准备、访问权限等)。3.构造函数比较复杂。4.循环体中生产大量对象时。1.浅克隆定义: 创建一个新对象,新对象的属性和原来对象的属性完全相同,对于引用类型属性...原创 2019-09-11 16:29:05 · 143 阅读 · 0 评论 -
设计模式学习(二)单例模式
目录1.饿汉式单例2.懒汉式单例3.单例模式完美解决方案 单例模式(Singleton Pattern)是指确保一个类在一个容器下只有一个实例存在,并提供一个全局访问点。 (单例模式最大的特点就是构造方法私有化)1.饿汉式单例UML类结构图:定义: 饿汉式单例是在类加载的时候就立即初始化,并且创建单例对象。绝对线程安全,在线程还没出现以前...原创 2019-09-09 21:46:42 · 223 阅读 · 0 评论 -
设计模式学习(一)工厂模式
目录1.简单工厂模式(静态工厂方法模式)2.简单工厂升级版:3.工厂方法模式4.抽象工厂模式1.简单工厂模式(静态工厂方法模式)定义:简单工厂模式(Simple Factory Pattern)是指一个工厂对象决定创建出哪一种产品类的实例,但它并不属于GOF23种设计模式。应用场景:适用于工厂类负责创建的对象较少的场景,且客户端只需要传入工厂类的参数,对于如何创...原创 2019-09-09 20:44:00 · 188 阅读 · 0 评论