
设计模式
Java23种设计模式
可乐cc呀
竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。
展开
-
全面了解23种设计模式,细说那些被人所知的设计思想。(一周彻底撸完被23种设计模式疯狂折磨)
一,23种设计模式分为三大类别模式 :1,创建型模式:它的主要特点是“将对象的创建与使用分离”。这样可以降低系统的耦合度,使用者不需要关注对象的创建细节,对象的创建由相关的工厂来完成。就像我们去商场购买商品时,不需要知道商品是怎么生产出来一样,因为它们由专门的厂商生产。2,结构型模式:它的主要特点是 如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原原创 2020-06-27 14:33:39 · 2230 阅读 · 1 评论 -
了解23种设计模式之访问者模式
了解23种设计模式之访问者模式什么是访问者模式访问者模式的特点和角色代码实现访问者模式实例应用访问者模式的应用场景访问者扩展什么是访问者模式在现实生活中,有些集合对象存在多种不同的元素,且每种元素也存在多种不同的访问者和处理方式。例如,公园中存在多个景点,也存在多个游客,不同的游客对同一景点的评价可能不同,医院医生开的处方单中包含多种药元素,査看它的划价员和药房工作人员对它的处理方式也不同,划价员根据处方单上面的药品名和数量进行划价,药房工作人员根据处方单的内容进行抓药。这些被处理的数据元素相对稳定原创 2020-07-05 16:26:47 · 509 阅读 · 0 评论 -
了解23种设计模式之状态模式
了解23种设计模式之状态模式什么是状态模式状态模式的角色与特点`代码实现状态模式应用实例模式的应用场景什么是状态模式状态模式(State): 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类在软件开发中,有些对象可能会根据不同的情况做出不同的行为,我们把这种对象称为有状态的对象,而把影响对象行为的一个或多个动态变化的属性称为状态。当有状态的对象与外部事件产生互动时,其内部状态会发生改变,从而使得其行为也随之发生改变。如人的情绪有高兴的时候和伤心的时候,不同的情绪有不同的行为,原创 2020-07-04 16:22:41 · 436 阅读 · 0 评论 -
了解23种设计模式之命令模式
了解23种设计模式之命令模式什么是命令模式命令模式的角色与特点代码实现模式应用实例 使用组合模式和命令模式命令模式的应用场景什么是命令模式在开发中,常常出现方法请求者与方法实现者之间存在之间存在紧密的耦合关系。这不利于软件功能的扩展与维护。例如,想对行为进行“撤销、重做、记录”等处理都很不方便,因此“如何将方法的请求者与方法的实现者解耦?”变得很重要,命令模式能很好地解决这个问题。在现实生活中,这样的例子也很多,例如,电视机遥控器(命令发送者)通过按钮(具体命令)来遥控电视机(命令接收者),还有计算原创 2020-07-04 14:55:09 · 402 阅读 · 0 评论 -
了解23种设计模式之备忘录模式
了解23种设计模式之备忘录模式什么是备忘录模式备忘录模式结构,特点代码实现应用实例什么是备忘录模式简单来说:如果能够回到从前。。。。每个人都有犯错的时候,都希望有种后悔药,能弥补自己的过失,让自己重新开始,但现实是残酷的。在计算机应用中,客户同样会常常犯错误,能否提供“后悔药”给他们呢?当然是可以的,而且是有必要的。这个功能由“备忘录模式”来实现。有很多软件都实现了这个功能, Word,记事本,Eclipse,idea 在编辑时按 Ctrl+Z 组合键时能撤销当前操作,使文档恢复到之前的状态;还原创 2020-07-04 12:55:41 · 491 阅读 · 0 评论 -
了解23种设计模式之模板方法模式
了解23种设计模式之模板方法模式什么是模板方法模式模板方法模式的结构代码实现场景应用什么是模板方法模式在我们程序设计中常常会遇到,设计一个系统知道了一个功能所需的关键步骤,而且确定了这些步骤的执行顺序,但是某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。生活中很多这样的例子: 去银行办理业务一般要经过以下4个步骤:取号,排队,办理具体业务,对银行业务人员进行评分等,其中取号和排队和对银行业务人员进行评分,对每个客户是一样的,可以在父类中实现,但是办理具体业务却因人而异,它可能是存款,原创 2020-07-04 11:41:27 · 2887 阅读 · 0 评论 -
了解23种设计模式之迭代器模式
了解23种设计模式之迭代器模式一,什么是迭代器模式模式的结构代码的实现一,什么是迭代器模式迭代器模式: 提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该元素对象的内部表示。现实生活中: 你坐公交,售票员,每次都要去清点人数看有谁有没有买票,然后还规定,带箱子的必须买成人票。 这就是迭代器的基本思想。当你需要访问一个聚集对象,而且不管这些对象是什么都需要遍历的时候,你就应该考虑迭代器模式。当你需要对聚集有多种方式遍历时,可以考虑用迭代器模式,为遍历不同的聚集结构提供如:开始,下一个原创 2020-07-02 23:05:33 · 415 阅读 · 0 评论 -
了解23种设计模式之职责链模式
了解23种设计模式之职责链模式什么是职责链模式职责链模式结构职责链模式实现什么是职责链模式在现实生活中,常常会出现这样的事例: 一个请求多个对象可以处理,但每个对象的处理条件和权限不同。例如,公司员工请假,可批假的领导只有部分负责人,经理,总经理等,但每个领导能批准的天数不同,员工必须根据自己要请假的天数去找不同的领导签名,也就是说员工必须记住每个领导的姓名、电话和地址等信息,这增加了难度。这样的例子还有很多。在计算机软硬件中也有相关例子,如总线网中数据报传送,每台计算机根据目标地址是否同自己的原创 2020-06-30 22:31:12 · 410 阅读 · 0 评论 -
了解23种设计模式之单例模式
一,什么事单例模式? 单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。 其实,GoF( Gang of Four,代表意思是 设计模式一书,四个作者,被称为四人组)对单例模式的定义是: 保证一个类,只有一个实例存在,同事提供能对该实例加以访问的全局访问方法。二,为什么要使用单例模式呢?在开发中,我们常常有以下需求:-在多个线程之间,比如servlet 环境,共享同一个资源或...原创 2020-05-20 23:12:11 · 447 阅读 · 8 评论 -
了解23种设计模式之原型模式
一,什么是原型模式。Prototype 模式 是一种对象创建型模式,它采取复制原型对象的方法来创建对象的实例。使用Prototype模式创建的实例,具有与原型一样的数据。原创 2020-05-20 23:31:53 · 437 阅读 · 1 评论 -
了解23种设计模式之工厂模式
一,简单介绍:1.1:前言:古人云:三人行,必有我师焉。二,简单的工厂模式简单的工厂模式属于类的创建型模式,又叫静态工厂方法模式,通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类, 语句意思也很容易懂。接下来,我们来用最简单的代码来实现: 工厂(Creator)角色; 简单工厂模式的核心,它负责实现创建所有实...原创 2019-12-16 01:50:51 · 505 阅读 · 0 评论 -
了解23种设计模式之建造者模式
一,什么是建造者模式Builder 模式又叫 建造者模式或者生成器模式。是由GoF 提出的23种设计模式中的一种。Builder 模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态的创建具有复合属性的对象。二,装饰模式的结构...原创 2020-06-14 21:34:05 · 363 阅读 · 1 评论 -
了解23种设计模式之代理模式
一,什么是代理模式Proxy 模式 又叫代理模式,是构造型的设计模式之一,它可以为其他对象提供一种代理(Proxy)以控制对这个对象的访问。所谓代理,是指具有与代理元,(被代理的对象) 具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理二,代理模式的结构subject (抽象主题角色):真实主题与代理主题的共同接口。RealSubject(真实主题角色): 定义了代理角色所代表的真实对象Proxy(代理主题角...原创 2020-06-21 16:45:57 · 705 阅读 · 0 评论 -
了解23种设计模式之适配器模式
一,什么是 适配器模式Adapter 模式 也叫适配器模式, 是构造型模式之一,通过Adapter 模式可以改变已有类(或外部类) 的接口形式 。二,适配器模式的定义与特点以及结构定义:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。优点:客户端通过适配器可以透明地调用目标接口。 复用.原创 2020-06-27 13:30:48 · 504 阅读 · 0 评论 -
了解23种设计模式之桥接模式
一,什么是桥接模式Bridge 模式 又叫桥接模式,是构造型的设计模式之一。 Bridge 模式 基于 类的最小设计原则,通过封装,聚合以及继承等行为来让不同的类承担不同的责任, 它的主要特点是把抽象 与行为 实现 分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。二,桥接模式的结构桥接(Bridge) 模式包含以下主要角色抽象化(Abstraction)角色:定义抽象类,并包含一个对实现化对象的引用。 扩展抽象化(Refined Abstraction)角色:是抽象化角色...原创 2020-06-26 23:10:20 · 629 阅读 · 0 评论 -
了解23种设计模式之装饰模式
一,什么是装饰模式装饰(Decorator)模式又叫做包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的替换方案。原创 2020-06-16 23:46:38 · 424 阅读 · 0 评论 -
了解23种设计模式之外观模式
一,什么是外观模式Facade 模式也叫外观模式,是有GoF提出的 23种设计模式中的一种。 Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面。这个一致的简单的界面被称作Facade。在现实生活中,常常存在办事较复杂的例子,如办房产证或注册一家公司,有时要同多个部门联系,这时要是有一个综合部门能解决一切手续问题就好了。软件设计也是这样,当一个系统的功能越来越强,子系统会越来越多,客户对系统的访问也变得越来越复杂。这时如果系统内部发生改变,客户端也要跟着.原创 2020-06-22 22:00:41 · 467 阅读 · 0 评论 -
了解23种设计模式之享元模式
一,什么事享元模式Flyweight 模式也叫享元模式,是构造模式之一,它通过与其他类似对象共享数据来减少内存占用。二,享元模式的结构三,享元模式的角色和职责 抽象享元角色: 所有具体享元类的父类,规定一些需要实现的公共接口。 具体享元角色: 抽象享元的具体实现类,并实现了抽象享元角色规定的方法。 享元工厂角色: 负责创建和管理享元角色。...原创 2020-06-18 21:24:12 · 504 阅读 · 1 评论 -
了解23种设计模式之组合模式
一,什么是组合模式Composite 模式 也叫组合模式,是构造型的设计模式之一,通过递归手段来构造树形的对象结构,并可以通过一个对象来访问整个对象树二,组合模式的结构组合模式的角色和职责Component : (树形结构的节点抽象) 为所有的对象定义统一的接口,(公共属性,行为等的定义) 提供管理子节点对象的接口方法 提供管理父节点对象的接口方法Leaf : (树形结构的叶节点)Component 的 实现子类Composite (树形结构的枝节点)...原创 2020-06-26 21:16:46 · 715 阅读 · 0 评论 -
了解23种设计模式之策略模式
一,什么是策略模式 Strategy 模式也叫策略模式是行为模式之一,它对一系列的算法加以封装,为所有算法定义一个抽象的算法接口,并通过继承该抽象算法接口对所有的算法加以封装和实现,具体的算法选择交由客户端决定(策略)。Strategy 模式主要用来平滑地处理算法的切换。二,策略模式的接口三,策略模式的角色和职责,优点,缺点Strategy : 策略(算法)抽象。ConcreteStrategy :各种策略(算法) 的具体实现Contenxt :策略的外部封装类,或者说策略的..原创 2020-06-17 21:33:33 · 765 阅读 · 1 评论 -
了解23种设计模式之中介者模式
了解23种设计模式之中介者模式什么是中介者模式什么是中介者模式Mediator 模式也叫中介者模式,是由GoF提出的23种软件设计模式的一种。Mediator模式是行为模式之一,在Mediator的对象中,类之间的交互行为被统一放在Medator的对象中,对象通过Mediator对象同其他对象交互,Meiator 对象起着控制器的作用...原创 2020-06-29 01:09:28 · 477 阅读 · 0 评论 -
了解23种设计模式之观察者模式
一,什么是观察者模式。Observer模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态。Observer模式提供给关联对象一种同步通信的手段,使某个对象与依赖它的其他对象之间保持状态同步。二,观察者模式的结构。三,观察者模式的角色和职责Subject(被观察者) 被观察者的对象。当需要被观察的状态发生变化时,需要通知队列中所有观察者对象。Subject 需要维持(通知,删除,添加) 一个观察者对象的队列列表。Conc...原创 2020-06-17 22:23:01 · 431 阅读 · 1 评论 -
了解23种设计模式之解释器模式
了解23种设计模式之解释器模式什么是解释器解释器的定义与特点以及结构代码实现解释器模式的应用场景解释器模式的扩展什么是解释器Interpreter模式 也叫解释器模式,是 行为模式之一,它是一种特殊的设计模式,它建立一个解释器,对于特定的计算机程序设计语言,用来解释预先定义的方法。简单地说, Interpreter模式是一种简单的语法解释器构架。解释器的定义与特点以及结构定义:给分析对象定义一个语言,并定义该语言的文法表示,再设计一个解析器来解释语言中的句子。也就是说,用编译语言的方式来分析应原创 2020-06-27 15:51:29 · 515 阅读 · 0 评论