设计模式
文章平均质量分 95
晓龙oba
码农界的小学生,职场之中的卷心菜
展开
-
[设计模式] - 访问者模式
文章目录一、 访问者模式简介1. 什么是访问者模式访问者模式的实现1. 设计思路2. 代码实现三、访问者模式总结1. 访问者模式的特点2. 访问者模式的使用场景四、结语一、 访问者模式简介1. 什么是访问者模式访问者模式(Visitor Pattern) 属于行为型设计模式的一种,是一种相对简单的设计模式。其定义如下:Represent an operation to be performed on the elements of an object structure .Visitor lets y原创 2021-03-30 13:38:21 · 317 阅读 · 2 评论 -
[设计模式] - 责任链模式
文章目录一、责任链模式简介一、责任链模式简介责任链模式(Chain of Responsibility Pattern) 属于行为型设计模式的一种,其定义如下:Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request .Chain the receiving objects and pass the request along t原创 2021-03-29 14:04:51 · 195 阅读 · 1 评论 -
[设计模式] - 状态模式
文章目录一、状态模式简介1. 什么是状态模式2. 业务场景二、状态模式的实现1. 设计思路2. 代码实现三、状态模式总结1. 状态模式的特点2. 状态模式的使用场景四、结语一、状态模式简介1. 什么是状态模式状态模式(State Pattern) 属于行为型设计模式的一种,其定义为:** Allow an object to alter its behavior when its internal state changes . The object will appear to change its原创 2021-03-25 17:47:39 · 488 阅读 · 1 评论 -
[设计模式] - 解释器模式
文章目录一、解释器模式简介1. 什么是解释器模式2. 业务场景二、解释器模式的实现1. 设计思路2. 解释器模式的代码实现3. 解释器模式的类图设计三、解释器模式总结1. 解释器模式的特点2. 解释器模式的使用场景3. 注意四、结语一、解释器模式简介1. 什么是解释器模式解释器模式(Interperter ) 属于行为型设计模式的一种,是一种按照规定语法进行解析的方案。其定义为:Given a language ,define a representation for its grammar alo原创 2021-03-24 17:03:34 · 161 阅读 · 1 评论 -
[设计模式] - 备忘录模式
文章目录一、备忘录模式简介1. 什么是中介者模式2. 业务场景二、备忘录模式的实现1. 设计思路2. 备忘录模式的代码实现3. 备忘录模式的类图设计三、备忘录模式总结1. 备忘录模式的特点2. 备忘录模式的使用场景3. 拓展(1)原型模式搭配使用备忘录(2)多状态备忘录的使用四、结语一、备忘录模式简介1. 什么是中介者模式备忘录模式(Memento Pattern) 属于行为型设计模式的一种,其定义为:Without violating encapsulation , capture and ext原创 2021-03-20 15:15:58 · 215 阅读 · 2 评论 -
[设计模式] - 中介者模式
文章目录一、中介者模式简介1. 什么是中介者模式2. 业务说明一、中介者模式简介1. 什么是中介者模式中介者模式(Mediator Pattern) 又叫做调停模式,属于行为型设计模式的一种。其定义为:Define an object that encapsulates how a set of objects interact. Mediator promotes loose coupling by keeping objects from referring to each other expli原创 2021-03-10 18:58:12 · 517 阅读 · 4 评论 -
[设计模式] - 观察者模式
文章目录一、观察者模式简介1. 什么是观察者模式2. 业务说明3. 代码实现二、设计思路1. 设计类图2. 观察者模式的特点3. 观察者模式的使用场景4. Java中的观察者模式三、结语一、观察者模式简介1. 什么是观察者模式观察者模式(Observer Pattern) 也叫做发布订阅模式,属于行为型设计模式的一种,其定义为:Define a one-to-many dependency between objects so that when one object changes state, a原创 2021-03-03 17:11:47 · 194 阅读 · 1 评论 -
[设计模式] - 迭代器模式
文章目录一、迭代器模式简介1. 什么是迭代器模式2. 简单说明3. 代码实现二、设计思路1. 类图设计2. 迭代器模式的特点3. 使用场景三、结语一、迭代器模式简介1. 什么是迭代器模式迭代器模式(Interator Pattern) 属于行为性设计模式的一种,其定义如下: Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representa原创 2021-02-26 18:28:15 · 164 阅读 · 1 评论 -
[设计模式] - 命令模式
文章目录一、命令模式简介1. 什么是命令模式2. 简单说明3. 代码实现一、命令模式简介1. 什么是命令模式命令模式(Command Pattern) 属于行为性设计模式的一种,在<设计模式之禅>一书中其定义为: Encapsulate a request as an object ,thereby letting you parameterize clients with different request , queue or log requests ,and support und原创 2021-02-23 15:08:12 · 1020 阅读 · 3 评论 -
[设计模式] - 模板方法
文章目录一、模板方法的简介1. 什么是模板模式2. 简单举例二、模板模式的实现1. 简单模板模式的代码实现一、模板方法的简介1. 什么是模板模式模板方法(Template Method Pattern) 也叫做模板模式,属于行为型设计模式的一种,它通过定义一个操作中的算法框架并将一部分步骤的实现延迟到子类中完成使得子类可以在不改变一个算法结构的情况下就可以重新定义这个算法的某些特定步骤。2. 简单举例不知道大家早餐都喜欢吃些什么?楼主作为一个从小在北方长大的孩子,豆浆加油条是我们家乡最常见的搭配。原创 2021-02-08 13:34:56 · 320 阅读 · 5 评论 -
[设计模式] - 代理模式(静态代理与动态代理)
文章目录一、代理模式简介1. 什么是代理模式2. 简单举例二、代理模式的设计思路1. 代理模式的构成1. 静态代理2. 动态代理(1)接口代理(2)Cglib代理三、 代理模式总结1. 代理模式的简单设计类图2. 代理模式的优缺点3. 代理模式的使用场景4. 代理模式在Java中的应用5. 拓展一:普通代理与强制代理6. 拓展二:代理模式与装饰者模式的异同四、结语一、代理模式简介1. 什么是代理模式代理模式(Proxy Pattern) 也叫做委托模式,属于结构性设计模式的一种,在设计模式之禅一书中其原创 2021-02-05 16:02:46 · 552 阅读 · 5 评论 -
[设计模式] - 享元模式
文章目录一、享元模式的简介1. 什么是享元模式2. 为什么要使用享元模式二、享元模式的实现1. 内部属性和外部属性一、享元模式的简介1. 什么是享元模式享元模式(Flyweight Pattern) 也叫作蝇量模式,是结构性设计模式中的一种,<设计模式之禅>这本书中针对于享元模式的定义有一句话叫做use sharing to support large number of fine-grained objects efficiently(使用共享对象可有效地支持大量的细粒度对象)。 通过这原创 2021-02-02 18:11:10 · 250 阅读 · 2 评论 -
[设计模式] - 外观模式
文章目录一、外观模式的简介1. 外观模式的简介2. 外观模式的使用场景二、通过业务讲模式1. 提供一个业务场景2. 业务流程分析三、外观模式的实现1. 代码实现(1) 创建基金产品(2) 创建外观类(3) 测试及测试结果2. 实现分析四、外观模式的特点1. 外观模式的使用场景2. 外观模式的优缺点一、外观模式的简介1. 外观模式的简介**外观模式(facade pattern)**又叫做门面模式,属于结构性设计模式的一种,它的提出主要是为了隐藏系统的复杂性。=实现了外观模式的系统不需要知道系统内部的复原创 2021-01-25 13:30:53 · 548 阅读 · 1 评论 -
[设计模式] - 组合模式
文章目录一、组合模式的简介1. 什么是组合模式2. 组合模式的使用场景二、通过业务场景讲述组合模式1. 提出一个使用场景2. 业务分析三、组合模式的分类及实现1. 透明组合模式的实现(1) 创建component(2) 创建composite(3) 创建leaf(4) 创建测试用例及测试结果2. 安全组合模式的实现(1) 创建Component(2) 创建Composite(3) 创建leaf(4) 创建测试用例及测试结果四、总结组合模式1. 组合模式的构成2. 组合模式的结构图3. 组合模式的优缺点4.原创 2021-01-21 14:52:13 · 243 阅读 · 2 评论 -
[设计模式] -装饰器模式
文章目录一、装饰器模式的简介1. 什么是装饰器模式2. 装饰器模式的业务场景二、装饰器模式的实现1. 代码实现(1) 创建实体接口(2) 创建实现类(3) 创建抽象装饰类(4) 创建装饰实现类(5) 测试代码2. 装饰器模式的实现分析三、装饰器模式的特点1. 装饰器模式的优劣势2. 装饰器模式在JDK中的引用一、装饰器模式的简介1. 什么是装饰器模式装饰器模式(Decorator Pattern) 是为了达到可以为一个现有对象添加新的功能同时又不改变其结构的设计模式,这种设计模式属于结构性设计模式原创 2021-01-20 11:03:49 · 173 阅读 · 1 评论 -
[设计模式] - 桥接模式
文章目录一、桥接模式的简介1. 什么是桥接模式2. 提出一个业务场景3. 传统实现方式(1) 创建Phone抽象类(2) 创建具体手机品牌(3) 编写测试类4. 分析传统方式的优劣势二、桥接模式的实现1. 改写既有代码(1) 抽离共有行为(2) 创建行为实现类(3) 创建实体抽象类(4) 创建实体子类(5) 测试2. 分析桥接模式设计思路三、桥接模式的特点1. 桥接模式的优缺点2. 桥接模式的使用场景一、桥接模式的简介1. 什么是桥接模式桥接模式(Bridge) 又叫做柄体模式(handle and原创 2021-01-19 16:03:51 · 209 阅读 · 1 评论 -
[设计模式] - 适配器模式
文章目录一 、 适配器模式的简介1. 什么是适配器模式2. 适配器的业务场景二 、适配器模式的实现1- 类适配器1. 类适配器的实现(1) 创建耳机接口(2) 创建普通3.5mm耳机(3) 创建转换器接口(4) 创建接口转换类(5) 创建手机对象(6) 创建测试类2. 类适配器的设计思路2 - 对象适配器1. 对象适配器的实现1. 对象适配器的设计思路2 - 接口适配器接口适配器的实现原理三 、 适配器模式的特点1. 适配器的使用场景2. 适配器模式的特点3. 注意事项一 、 适配器模式的简介1. 什么原创 2021-01-18 11:50:36 · 187 阅读 · 5 评论 -
[设计模式] - 建造者模式
文章目录一、建造者模式的简介1. 什么是建造者模式2. 建造者模式使用的业务场景二、传统方式实现1. 利用有参构造三、建造者模式实现第一步: 创建产品对象第二步: 创建Builder接口第三步: 创建concreteBuilder第四步: 创建directory第五步:测试结果四、 建造者模式的实现原理1. 建造者模式的角色构成2. 建造者模式的特点一、建造者模式的简介1. 什么是建造者模式建造者模式(Builder Pattern) 隶属于创建型设计模式,是一种通过将多个简单对象或属性一步一步构建成原创 2021-01-15 11:54:13 · 172 阅读 · 2 评论 -
[设计模式] - 原型模式
文章目录一 、原型模式的简介1. 什么是原型模式2. 原型模式应用的业务场景二、原型模式的实现1. 原型模式的实现原理2. 原型模式的简单实现2.1 创建一个原型对象2.2 测试原型对象3. 直接调用clone方法存在的问题三、 深拷贝与浅拷贝1. 什么是深拷贝与浅拷贝2. 如何实现一个深拷贝四 、 深拷贝原型模式的实现1. 双重浅拷贝2. Json序列化方式五、总结1. 原型模式的设计思路2. 原型模式的特点一 、原型模式的简介1. 什么是原型模式原型模式(prototype) 是创建型设计模式原创 2021-01-14 14:03:04 · 261 阅读 · 6 评论 -
[设计模式] - 工厂模式(工厂方法与抽象工厂)
文章目录一 、 工厂模式的简介1. 什么是工厂模式2. 工厂模式的分类二 、 通过业务场景引出工厂模式1. 业务场景(1) 第一步:定制手机模板(2) 第二步:制造手机(3) 需求变更三 、 工厂方法模式1. 什么是工厂方法模式2. 工厂方法模式实现步骤(1)创建手机工厂对象(2)创建工厂方法接口(3)实现工厂对象(4)实现工厂方法(5)创建订单类并测试结果(6) 新增手机类别(7) 新增手机工厂(8) 测试结果3. 工厂方法模式的设计原理4. 工厂方法的特点四、简单工厂模式1. 简单工厂模式的简介2. 代原创 2021-01-12 15:35:20 · 433 阅读 · 1 评论 -
[设计模式] - 策略模式
文章目录一、策略模式简介1. 什么是策略模式2. 什么时候可以使用策略模式二、策略模式的实现1. 业务场景2. 简单的编码实现一、策略模式简介1. 什么是策略模式策略模式(Strategy Pattern) 是指定义了算法组并分别封装起来,让他们可以互相替换使得算法的更改并不会影响使用了算法的用户。策略模式属于行为性设计模式,在策略模式中,一个类的行为及算法可以在运行时更改。2. 什么时候可以使用策略模式策略模式通常应用在一下场景:消除if-else 引起的代码复杂度提升和维护问题应用在原创 2021-01-07 11:22:18 · 238 阅读 · 1 评论 -
[设计模式] - 单例模式
文章目录一、单例模式简介1. 什么是单例模式2. 单例模式的应用场景二、单例模式的实现1. 饿汉式2. 懒汉式3. DCL4. 静态内部类5. 枚举方式三、破坏单例模式1. 反射破坏单例模式2. 反序列化破坏单例模式结束语一、单例模式简介1. 什么是单例模式单例模式(singleton)是指通过代码保证一个类只有一个实例并提供一个它的全局访问点。其实通俗的来讲实现了单例模式设计的类应该只会初始化一次并且要提供一个方法让所有的使用者都可以获取这个实例。2. 单例模式的应用场景在Design Patt原创 2021-01-05 14:23:28 · 191 阅读 · 6 评论 -
[设计模式] - 设计模式简介
文章目录一 、设计模式简介1. 什么是设计模式2. 设计模式的发展历史3. 设计模式的用途二、设计模式的分类1. 创建型设计模式2. 结构型模式3. 行为型模式三、面向对象的七大原则1. 开闭原则2. 依赖倒置原则3. 单一职责原则4. 接口隔离原则5. 迪米特原则6. 里氏替换原则7. 合成复用原则一 、设计模式简介1. 什么是设计模式设计模式,英文名为design pattern,是设计师为面向对象编程中一些反复出现的问题提出的一系列解决方案。设计模式这个术语最早由Erich Gamma 在199原创 2021-01-04 17:54:00 · 503 阅读 · 1 评论