设计模式日志
文章平均质量分 58
针对接触过的设计模式,进行整理,方便之后温习。
jason559
这个作者很懒,什么都没留下…
展开
-
Adapter适配器模式
目录适配器定义示例适配器定义适配器使得原本由于接口不兼容而不能一起工作、不能统一管理的那些类可以一起工作、可以进行统一管理。解决接口不兼容而不能一起工作问题,看下面一个非常经典的案例。示例在中国,⺠用电都是220v交流电,但是手机锂电池用的都是5v直流电。因此,我们给手机充电时就需要使用电源适配器来进行转换。使用代码还原这个生活场景 。创建AC220类,表示220v交流电:package com.lagou.edu;import com.sun.org.apache.bcel.intern原创 2021-01-16 16:15:54 · 167 阅读 · 0 评论 -
模板方法模式
目录模板方法模式示例模板方法模式模板方法模式是指定义一个算法的⻣架,并允许子类为一个或者多个步骤提供实现。使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤,属于行为型设计模式。采用模板方法模式的核心思路是处理某个流程的代码已经具备,但其中某些节点的代码暂时不能确定。此时可以使用模板方法。示例package com.lagou.edu;/** * 面试大厂流程类 */public abstract class Interview { private f原创 2021-01-16 14:45:17 · 58 阅读 · 0 评论 -
Strategy策略模式
目录策略模式定义结构策略(Strategy)策略实现(ConcreteStrategy)上下文(Context)示例重构前重构后策略模式定义策略模式(Strategy),就是一个问题有多种解决方案,选择其中的一种使用,这种情况下我们 使用策略模式来实现灵活地选择,也能够方便地增加新的解决方案。比如做数学题,一个问题的解法可能有多种;再比如商场的打折促销活动,打折方案也有很多种,有些商品是不参与折扣活动,要按照原价销售,有些商品打8.5折,有些打6折,有些是返现5元等。结构策略(Strategy)原创 2021-01-16 13:38:29 · 195 阅读 · 0 评论 -
JDK动态代理模式
目录代理模式(Proxy Pattern)1)创建一个抽象类,Person接口,使其拥有一个没有返回值的doSomething方法2)创建一个名为Bob的Person接口的实现类,使其实现doSomething方法3)创建JDK动态代理类,使其实现InvocationHandler接口。拥有一个名为target的变量,并创建 getTarget获取代理对象方法4)创建JDK动态代理测试类JDKDynamicTest代理模式(Proxy Pattern)给某一个对象提供一个代理,并由代理对象控制对原对象的原创 2021-01-16 11:07:47 · 151 阅读 · 1 评论 -
Factory工厂模式
目录Factory模式定义例子:生产电脑1. 创建抽象产品类2. 创建具体产品类3. 创建工厂类4. 客户端调用工厂类Factory模式定义比如:在Mybatis中,SqlSessionFactory使用的就是工厂模式,该工厂没有那么复杂的逻辑,是一个简单工厂模式。简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,它属于创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责原创 2021-01-16 10:38:58 · 246 阅读 · 1 评论 -
Builder构建者模式
目录Builder模式的定义例子1)computer2)ComputerBuilder3)调用Builder模式的定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。它属于创建类模式,一般来说,如果一个对象的构建比较复杂,超出了构造函数所能包含的范围,就可以使用工厂模式和Builder模式,相对于工厂模式会产出一个完整的产品,Builder应用于更加复杂的对象的构建,甚至只会构建产品的一个部分。直白来说,就是使用多个简单的对象一步一步构建成一个复杂的对象例子使用构建者设原创 2021-01-15 20:26:17 · 83 阅读 · 0 评论