
设计模式与应用
文章平均质量分 63
小明同学YYDS
good good study!day day up!
展开
-
设计模式与应用:组合模式
详细介绍设计模式之组合模式通过递归手段来构造树形的对象结构,并可通过一个对象来访问整个对象树ComponentCompositeLeaf测试输出原创 2022-06-29 20:57:24 · 296 阅读 · 0 评论 -
设计模式与应用:中介者模式
在中介者模式中,类之间的交互行为被统一放在Mediator的对象中,对象通过Mediator对象同其他对象交互,Mediator对象起着控制器的作用MediatorPartnerMediatorColleagueConcreteColleagueClient 测试输出...原创 2022-06-29 20:25:15 · 225 阅读 · 0 评论 -
设计模式与应用:原型模式
原型模式介绍采取复制原型对象的方法来创建对象的实例使用Prototype模式创建的实例,具有与原型一样的数据特点根据介绍可知,原型模式的实现就是在原型类里实现一个clone()方法,当然Java类都继承了Object,都自动有Object的clone()方法,这是一个浅拷贝的方法。如果需要深度拷贝,可以自行重写clone方法,或者使用其他工具类看Object或具体拷贝方法即可...原创 2022-06-29 17:00:14 · 210 阅读 · 0 评论 -
设计模式与应用:桥接模式
桥接模式介绍与实现基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任,他的主要特点:ImplementorConcreteImplementorAbstractionRefined AbstractionClient输出...原创 2022-06-29 16:09:16 · 316 阅读 · 0 评论 -
设计模式与应用:命令模式
命令模式介绍与实践在面向对象的程序设计过程中,一个对象调用另一个对象,一般情况下的调用过程:创建目标对象实例,设置调用参数,调用目标对象方法但在有些情况下,有必要使用一个专门的类对这种调用过程加以封装,我们把这种专门的类叫做Command类ReceiverCommandInvoker测试小结此模式实际应用场景广泛,开发过程中或多或少都会使用到,只是不知觉是类似命令模式...原创 2022-06-29 15:20:43 · 249 阅读 · 0 评论 -
设计模式与应用:解释器模式
介绍解释器模式简单说,Interpreter模式是一种简单的语法解释器结构当有一个语言需要解释执行,并且你可将该语言中的句子表示为以恶搞抽象语法树时,可以使用解释器模式,而当存在以下情况时该模式效果最好:解释器模式在实际业务开发场景比较少[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9tM4SV80-1656483254392)(./img/interpreter-1.png)]代码UML[外链图...原创 2022-06-29 14:15:33 · 267 阅读 · 0 评论 -
设计模式与应用:访问者模式
介绍和实现访问者模式一个实体,不同的访问者有不同的行为操作,而且访问者的种类也可能需要根据时间推移而变化(行为可扩展)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-87MqGlKV-1656475245253)(./img/visitor-1.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1FcLckuH-1656475245253)(./img/visitor-2.png)]这里以公园(元素)和清洁工(访问者)的关系来描述这个模式原创 2022-06-29 12:01:35 · 208 阅读 · 0 评论 -
设计模式与应用:迭代器模式
介绍迭代器模式迭代模式解决什么问题?或者说如果不使用迭代模式会存在什么问题由容器自己实现顺序遍历:容器类里直接添加顺序遍历方法让调用者自己实现遍历Iterator模式功能:就是为了有效处理按顺序进行遍历访问的一种设计模式,可以屏蔽对象集合的容器类的实现细节这里可以去看JDK的代码如下几个类就是迭代器模式的实现...原创 2022-06-28 21:02:33 · 215 阅读 · 0 评论 -
设计模式与应用:备忘录模式
java设计模式之备忘录模式介绍及其代码实现作用:保存对象的内部状态,并在需要的时候(undo、rollback)恢复对象以前的状态如果一个对象需要保存状态并想通过undo或roback等操作,恢复到以前的状态时可以使用具体使用应用注意...原创 2022-06-28 20:07:05 · 797 阅读 · 0 评论 -
设计模式与应用:适配器模式
本文详细介绍两种实现适配器方式、应用场景及对比 简介应用场景结构图继承实现Adapter委让实现Adapter实现继承实现Adapter委让实现Adapter客户端测试适配器优缺点及两种适配方式对比优点缺点两种适配方式对比简介 Adapter模式-适配器模式,是构造型模式之一通过Adapter模式可以改变已有类...原创 2018-05-16 18:14:45 · 365 阅读 · 0 评论 -
设计模式与应用:外观模式
本文通俗的介绍外观模式,且与策略模式进行对比及选用 简介结构图角色和职责实现外观模式与策略模式对比与选用简介 Facade模式也叫外观模式,是由GoF提出的23种设计模式种的一种Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面。这个一致的简单的界面被称作facade类比理解:电影发行公司,他去跟...原创 2018-05-16 13:00:36 · 719 阅读 · 0 评论 -
设计模式与应用:观察者模式
本文介绍观察者模式,和通过jdk的实现来使用。 简介结构图角色和职责实现使用场景简介 观察者模式Observer是行为模式的一种作用是当一个对象的状态发生变化时,能够自动通知其它关联对象,自动刷新对象状态Observer模式提供给关联对象一种同步通信的手段,使得某个对象与依赖他的其它对象之间保持状态同步结构图实际上,j...原创 2018-05-16 00:04:13 · 957 阅读 · 0 评论 -
设计模式与应用:状态模式
本文主要介绍状态模式的原理和应用场景,并与策略模式、责任链模式进行对比 简介状态模式的应用场景结构图角色和职责实现测试状态模式思考于策略模式、责任链模式简介 State模式也叫状态模式,是行为设计模式的一种。State模式允许通过改变对象的内部状态而改变对象的行为,这个对象表现的就好像修改了他的类一样。状态模式的应用场景主要...原创 2018-05-15 00:37:47 · 315 阅读 · 0 评论 -
设计模式与应用:享元模式
本文介绍享元模式思想、以及与单例模式的使用联系 简介结构图角色和职责实现测试享元与单例简介 Flyweight模式也叫享元模式,是构造型模式的一种通过与其他类似对象共享数据来减小内存占用结构图角色和职责抽象享元角色:所有具体享元类的父类,规定一些需要实现的公共接口。具体享元角色:抽象享元角色的具体实现类,并实现了...原创 2018-05-09 01:30:46 · 231 阅读 · 0 评论 -
设计模式与应用:策略模式
本文介绍策略模式的结构、一个demo、基本应用场景、优缺点 简介结构图角色和职责使用场景实现优点缺点简介 Strategy模式-行为模式的一种 - 对一系列算法封装,为所有算法定义一个抽象的算法接口,并通过集成该抽象算法接口对所有的算法加以封装和实现,具体的算法选择由客户端(使用处)来决定(策略)。 主要用于平滑的处理算法的切换...原创 2018-05-02 15:41:04 · 266 阅读 · 0 评论 -
设计模式与应用:装饰模式
本文介绍结构、demo、使用场景选用、与代理模式的区别对比 简介结构图角色和职责实现一般使用场景优缺点对比代理模式关注点方法增强时机使用场景用户(使用)角度选用方向简介 Decorator模式又叫包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案 在原有方法上包装更多的方法。通过子类包...原创 2018-05-02 17:09:19 · 411 阅读 · 0 评论 -
设计模式与应用:模板方法模式
本文介绍模板方法模式,介绍基本应用场景和核心设计思路 简介应用场景模板方法模式结构图角色和职责实现测试简介 Template Method 模板方法模式,是行为模式之一把具有特定步骤算法中的某些必要处理委让给抽象方法,通过子类继承对抽象方法的不同实现改变整个算法的行为 重点:步骤相同,合并执行;细节不同,分治实现。应用场景具...原创 2018-05-03 15:39:04 · 427 阅读 · 0 评论 -
设计模式与应用:责任链模式
本文介绍责任链模式的基本结构、应用场景、以及现有一些成熟框架的应用 简介举例应用场景说明职责和角色设计使用责任链的基本流程结构图实现测试责任链的使用简介 Chain of Responsibility(CoR)模式也叫职责链模式、责任链模式。是行为模式之一责任链模式构造一系列分别担当不通的职责的类的对象来共同完成一个任务,他们像链条...原创 2018-05-03 17:32:34 · 2657 阅读 · 0 评论 -
设计模式与应用:代理模式(三种详解)
本文介绍代理模式核心思想,静态代理、jdk动态代理、cglib动态代理的分别实现与对比选用,代理模式与装饰模式的对比 简介应用场景结构图角色和职责静态代理静态代理实现JDK动态代理jdk动态代理实现CGLIB动态代理cglib动态代理实现静态代理、jdk动态代理、cglib动态代理对比静态代理jdk动态代理CGLIB动态代理静态代理、...原创 2018-05-03 20:40:16 · 4468 阅读 · 2 评论 -
设计模式与应用:建造者模式(生成器模式)
本文介绍建造者模式基本结构,应用场景,通过实际场景来说明,便于理解 简介通过创建一部影片进阶历程来理解建造者模式结构应用场景实现测试总结简介 Builder模式也叫建造者模式、生成器模式,是由GoF提出的23中设计模式中的一种建造者模式隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复...原创 2018-05-04 13:07:13 · 549 阅读 · 0 评论 -
设计模式与应用:简单工厂模式
本文介绍简单工厂、使用场景 简介角色和职责实现测试简单工厂模式优缺点优点缺点使用场景计算器的简单工厂模式实现思路简介 简单工厂模式属于类的创建型模式,又叫静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类角色和职责工厂角色(Creator):核心。负责实现创建所有实例...原创 2018-05-06 12:02:33 · 333 阅读 · 0 评论 -
设计模式与引用:工厂方法模式
本文介绍工厂方法的核心,与简单工厂的比较 简介职责与角色实现测试工厂方法模式与简单工厂模式比较简介 工厂方法模式同样属于类的创建星模式,又被称为多态工厂模式意义在于:定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类,核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口。这样进一步抽象化...原创 2018-05-06 12:05:45 · 258 阅读 · 0 评论 -
设计模式与应用:抽象工厂模式
本文介绍抽象工厂架构思想,着重描述它的关注方向,并与简单工厂、工厂方法模式进行比较 简介产品族和产品等级结构角色与职责实现产品定义工厂定义测试简单说明案例优缺点探讨与简单工厂/工厂方法模式区别简介 抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的。抽象工厂模式可以向客户端提供一个接口,是的客户端在不必指定产品具体类型...原创 2018-05-06 15:06:54 · 343 阅读 · 0 评论 -
设计模式与应用:单例模式
本文介绍 常用的单例模式实现方式、使用场景、对各种实现优缺点探讨、笔者选用建议 简介为什么使用单例模式典型单例模式多种实现方式饿汉式饱汉式饱汉式线程安全双重检查模式单例实现静态内部类实现单例模式测试单例模式的扩展简介 对象创建型模式核心:一个类只生成唯一实例对象,构造方法私有化禁止外部创建对象。GoF对单例模式的定义是...原创 2018-04-30 15:54:20 · 246 阅读 · 0 评论