设计模式
码农新锐
轻松的心态学习技术,认真的态度来敲代码!
展开
-
设计模式-适配器模式
在介绍适配器模式之前,我们先了解一下设计模式 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、代码设计经验的总结。目的是为了可重用性代码,让代码更容易被他人理解,保证代码可靠性。 适配器(Adapter)模式 适配器模式使我们可以重用一个现有的类,以满足客户端的需要。当客户端通过接口表达其需求时,通常可以创建一个实现了该接口...原创 2018-10-08 17:44:37 · 108 阅读 · 0 评论 -
设计模式之命令模式
命令模式从名字上来理解就是老大发命令,小兵执行就是了,确实是这个意思。 已经参加工作的小伙伴是不是常常遇到这种事情,项目经理加需求,需求变动,项目工期。如果没有参加工作的同学,程序员每天处理敲代码还有和项目经理的沟通。什么是命令模式?将一个请求封装为一个对象,从而...原创 2019-03-23 11:05:05 · 107 阅读 · 0 评论 -
设计模式之访问者模式
前言访问者模式在23种设计模式应该算是复杂的,因此在解释定义前,先以实际的例子带入一下觉得理解起来会更好一些。场景:很多人都有养宠物的习惯,这里就以此为例访问者角色:给宠物喂食的人 具体访问者角色:主人、其他人 抽象元素角色:动物抽象类 具体元素角色:宠物狗、宠物猫 结构对象角色:主人家结构图如下:1.创建抽象访问者接口interface Perso...原创 2019-04-06 23:48:37 · 138 阅读 · 0 评论 -
设计模式之中介者模式
在每个机场都会看到有一个机场调度中心,它就是具体的中介者,用来调度每一架要降落和起飞的飞机,如果没有机场调度中心,飞机到飞机场了,飞行员要先看看有没有飞机和自己一起降落,有没有空跑道灯,这是难以想象的。中介者模式(Mediator)用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地互相引用,从而使其耦合度松散,而且可以独立地改变它们之间的交互。设计模式类图设计模式...原创 2019-04-13 12:16:02 · 209 阅读 · 0 评论 -
设计模式之解释器模式
解释器模式(interpreter),给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器用来解释语言中的句子。比如我们常常会在字符串中搜索匹配的字符或判断一个字符串是否符合我们的规则,此时一般我们会用什么技术?如判断email、匹配电话号码等。我们会用到正则表达式,而所谓解释器模式,正则表达式就是它的一种应用,解释器为正则表达式定义了一个文法,如何表示一个特定的正则表达式,...原创 2019-04-20 15:29:05 · 142 阅读 · 0 评论 -
设计模式装饰器模式
在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。装饰器模式角色Component定义一个对象接口,可以给这些对象动态地添加职责。ConcreteComponent是定义了一个具体的对象,也可以给这个对象添加一些职责。Decorator装饰抽象类,继承了Component,扩展了C...原创 2019-05-01 15:41:15 · 1227 阅读 · 6 评论 -
设计模式之单例模式
单例模式的定义单例模式就是确保某一个类只有一个实例,并且提供一个全局访问点。单例模式的常用1.Windows的任务管理器2.Windows的回收站,也是一个单例应用3.项目中的读取配置文件的对象4.数据库的连接池5.Servlet中的Application Servlet6.Spring中的Bean默认也是单例的7.SpringMVC Struts中的控制器...原创 2019-05-25 15:48:18 · 222 阅读 · 0 评论 -
设计模式之抽象工厂模式
抽象工厂的定义抽象工厂模式提供一个接口,用于创建相关或者依赖对象的家族,而不需要明确指定具体类。抽象工厂允许客户端使用抽象的接口来创建一组相关的产品,而不需要关联实际产出的具体产品是什么。这样一来,客户就可以从具体的产品被解耦。抽象工厂的角色抽象产品(Product)所有的产品必须实现这个共同的接口,具体产品引用这个接口或者继承抽象类。具体产品(ConcretePr...原创 2019-05-23 19:52:31 · 233 阅读 · 0 评论 -
设计模式之建造者模式
概述建造者模式构建复杂对象就像造汽车一样,一个一个组件一个一个步骤创建出来,它允许指定的组件对象和内容来创建,用户无需知道复杂对象如何创建,只需要明白通过这样方式可以得到复杂对象的实例。定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的显示。建造者角色Builder抽象建造者。它声明为创建一个Product对象的各个部件指定的抽象接口。Con...原创 2019-05-28 23:09:58 · 168 阅读 · 0 评论 -
设计模式之责任链模式
小明是一家公司的员工,因明天有事,需要进行请假,可批假的领导有部门负责人、副总经理、总经理等。请2天以下部门负责人可以直接处理,如果请4天以下的副总经理可以处理,请6天以下就需要总经理处理。这也是一个设计模式的体现,那就是责任链模式。责任链模式(Chain of Responsibility)使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这个对象连...原创 2019-03-03 15:50:19 · 184 阅读 · 0 评论 -
设计模式之迭代器模式(Iterator)
出去旅游,领队售票。这天是周末,小明坐着旅行大巴车出去游玩,在大巴车上,领队需要收汽车票。这个售票员其实在做一件重要的事,就是把车厢里所有的人都遍历了一遍,不放过一个不买票的乘客,这也是一个设计模式的体现,那就是迭代器模式。什么是迭代器模式?提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象内部表示。迭代器的组成?迭代器角色(Iterator)定义遍历元素所需要的...原创 2019-03-02 14:32:37 · 156 阅读 · 0 评论 -
设计模式之观察者模式
观察者模式,顾名思意就是观察与被观察的关系,比如你在烧开水得时时看着它开没开,你就是观察者,开水就是被观察者;比如商品缺货,你会看商品是否来货,你就是观察者,商品就是被观察者。观察者又叫做发布订阅(Publish/Subscribe)模式。观察者模式定义一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。...原创 2019-02-23 13:19:05 · 344 阅读 · 0 评论 -
设计模式-外观模式
外观模式是什么?举个生活的例子来说一下,外观模式好比汽车销售店的销售员,只需要和销售员说自己对车的需求是什么。我们不必管汽车是如何生产的。销售人员就是外观角色,生产汽车的每个步骤是子系统角色。类图: 外观者角色:销售人员 子系统角色:冲压工艺 子系统角色:焊接工艺 子系统角色:涂装工艺 子系统角色:总装工艺...原创 2018-10-08 17:56:02 · 162 阅读 · 0 评论 -
设计模式-桥接模式
桥接模式是什么?桥接器模式(BridgePattern)又称为桥梁模式,它主要用意是为了实现抽象部分与实现部分解耦,使它们各自可以独立的变化。 蜡笔和毛笔的故事设想要绘制一幅图画,蓝天、白云、绿树、小鸟,如果尺寸很大,那么...原创 2018-10-17 19:17:39 · 135 阅读 · 0 评论 -
设计模式-简单工厂模式
设计模式之简单工厂设计模式工厂模式分为静态工厂模式、工厂方法模式、抽象工厂模式。今天和大家分享的是简单工厂模式。什么是简单工厂模式?工厂模式又称静态工厂方法模式,它又属于创建型模式,在简单工厂模式中可以根据参数的不同返回不同的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的类通常都有父类UML类图 哪些技术框架用到工厂模式?比如我们...原创 2018-11-18 17:58:16 · 136 阅读 · 0 评论 -
设计模式与UML建模
UML(Unified Modeling Langage,统一建模语言)建模是面向对象开发设计方法中的第一步,用UML来表达设计模式不仅方便了开发人员的交流,而且更加清晰、准确。这章节主要介绍UML类图。简介1997年,OMG组织(Object Management Group 对象管理组织)发布了统一建模语言UML。UML目标之一就是为了开发团队提供标准通用的设计语言来开发和构建计...原创 2018-11-27 09:24:45 · 1888 阅读 · 0 评论 -
设计模式之状态模式(State)
什么是状态?我们在购物网站进行购物时,订单会产生几种状况:已下单、已付款、送货中、确定收货等状态。所以系统会判断该订单的状态,不管是哪种状态都应给出对应的操作,这就是状态。 什么是状态模式?在软件开发过程中,应用程序可能会根据不同的情况作出不同的处理。最直接的解决方案是将这些所有可能发生的情况全都考虑到。然后使用if... ellse语句来做状态判断来进行不同情况的处理。但是...原创 2018-12-22 11:55:56 · 4238 阅读 · 0 评论 -
设计模式之备忘录模式
俗话说:世上最难买后悔药。所以凡事讲究个“三思而后行”,但总常见有人“痛心疾首”状:当初我要是… ,如果真的有《大话西游》中能时光倒流的“月光宝盒”,那么这世上也许会少一些伤感与后悔——当然这只能是痴人说梦了。但是在我们手指下的程序世界里,却有后悔药买。我们讲的备忘录模式就是程序世界里的“月光宝盒”。什么是备忘录模式?备忘录模式(Memento)又称(Token)模式。在不破坏封...原创 2018-12-12 09:35:18 · 204 阅读 · 0 评论 -
设计模式-策略模式
策略模式就是定义一系列的算法,把它们的一个个封装起来,并且使它们可以相互替换,Strategy模式使算法独立于使用它的客户而变化。策略模式组成抽象策略角色(Strategy)通常用一个抽象类或者接口来实现,主要定义这个算法所完成的功能。具体策略角色(ConcreteStrategy)包装了相关的算法和行为。环境角色(Context)持有策略类的引用。策略模式特点...原创 2019-01-17 15:24:34 · 92 阅读 · 0 评论 -
设计模式之模板方法模式
模板方法的概念模板方法模式是定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤。通俗点的理解说就是完成一件事情,有固定的数个步骤,但是每个步骤根据对象的不同,而实现细节不同;就可以在父类中定义一个完成该事情的总方法,按照完成事件需要的步骤去调用其每个步骤的实现方法。每个步骤的具体实现,由子类完成。模板模式的结构...原创 2019-02-14 23:18:09 · 99 阅读 · 0 评论 -
设计模式汇总
希望我们提供的知识能对所有正在 Java 开发不归路上的码农朋友指点迷津,有不对之处还请留言给我们反馈。23种设计模式汇总原创 2019-06-06 21:50:24 · 161 阅读 · 0 评论