![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 73
叫我XiaoNi
正所谓朝走西来,暮走东,人生恰似采花蜂...
展开
-
适配器模式
文章目录定义介绍实现类适配器对象适配器定义适配器模式(Adapter),将一个类的接口转换成客户希望的另外一个接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。介绍从实现上分为两种:类适配器和对象适配器,其中区别,一种采用继承,一种采用组合的方式。但是适配器模式主要是补救措施。当系统中有一套完成的类结构,而我们需要利用其中某一个类的功能或方法,但是我们的客户端只认识另外一个和这个类结构不相关原创 2021-07-20 21:21:53 · 114 阅读 · 0 评论 -
代理模式
文章目录定义实战基于接口实现基于继承实现动态代理总结参考本模式并没有在实际工作中碰到使用场景,就是单纯的要把定的基本目标:基本的设计模式写完。我在参考别人写的时候,看到有一句话说的很好:设计模式不需要刻意使用,但是需要可以练习。定义为其他对象提供一种代理以控制对这个对象的访问(不改变原始类代码的情况下,通过引入代理类来给原始类附加功能)。简单理解,就比如说我想访问Google,那么会用到 VPN,那么这个 VPN 就是一个代理,而真正访问的是我。实战基于接口实现普通类和代理类都实现一个接口,普通原创 2021-06-23 18:58:13 · 140 阅读 · 0 评论 -
建造者模式
文章目录定义实现实战简化版Lombok-builder总结定义建造者模式(Builder):将一个对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。当一个类的构造函数参数个数超过4个,而且这些参数有些是可选的参数,考虑使用建造者模式。实现案例:外卖套餐外卖套餐里面有必点,选点,然后各个菜品可以随意组合必点:米饭、餐具选点:小炒肉、土豆丝、麻婆豆腐。。。public class WaiMai { private String rice; private原创 2021-06-15 22:18:51 · 96 阅读 · 0 评论 -
策略模式
@[AOC]起因源于重构部分代码中,一个方法中有将近 20 个 if-else ,一下条件反射般的想起「策略模式」。定义策略模式(Strategy) :定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以互相替换。策略模式让算法的变化,不会影响到使用算法的客户。实现//策略接口public interface Strategy { void algorithm();}// Context 环境类(上下文类)public class Context { publi原创 2021-06-09 18:35:33 · 68 阅读 · 0 评论 -
工厂模式
文章目录简单工厂方法定义实现缺点工厂方法定义实现缺点简单工厂VS工厂方法抽象工厂定义实现工厂模式[Factory Design Pattern]:一般情况下分为三种更加细分的类型:简单工厂、工厂方法和抽象工厂方法。但在 GoF 《设计模式》一书中,将简单工厂模式看作是工厂模式的一种特例。简单工厂方法定义有一个工厂对象决定创建出哪一种产品类的实例(实现对象的创建),又叫静态工厂方法模式,顾名思义,使用 static 修饰。实现public interface IProduct { publ原创 2021-05-20 22:44:01 · 89 阅读 · 0 评论 -
单例模式
文章目录定义实现方式简单版本简单版本V1简单版本V2==双重加锁双重加锁 + volatile简化版本总结tip:优雅版本 + 防反射参考装饰器模式详解-与IO不解的情缘深入浅出单实例SINGLETON设计模式设计模式中最简单、面试的时候问,大部分人也只会说的那一个就是:单例模式。定义顾名思义,在整个系统中只能出现一个类的实例。比如全局配置信息。实现方式简单版本package com.practice.test.gooddemo;public class SingleTonDemo {原创 2021-05-17 19:07:15 · 152 阅读 · 0 评论 -
装饰器模式学习-IO
设计模式-IO-面试原创 2020-07-08 15:08:22 · 167 阅读 · 0 评论