![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 84
小小土豆爱吃鱼
这个作者很懒,什么都没留下…
展开
-
设计模式---状态模式
1.什么是状态模式状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。2.应用场景1.一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为。2.操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态。3.代码实现举.........原创 2022-02-09 14:09:03 · 352 阅读 · 0 评论 -
设计模式---空对象模式
「这是我参与2022首次更文挑战的第15天,活动详情查看:2022首次更文挑战」。空对象模式1、定义在空对象模式(Null Object Pattern)中,一个空对象取代 NULL 对象实例的检查。英文定义如下:Provide an object as a surrogate for the lack of an object of a given type. The Nul......原创 2022-02-06 19:33:35 · 1227 阅读 · 0 评论 -
设计模式---中介模式
中转作用:通过中介者提供的中转作用,各个同事对象就不再需要显式引用其他同事,当需要和其他同事进行通信时,可通过中介者来实现间接调用。该中转作用属于中介者在结构上的支持。协调作用:中介者可以更进一步的对同事之间的关系进行封装,同事可以一致的和中介者进行交互,而不需要指明中介者需要具体怎么做,中介者根据封装在自身内部的协调逻辑,对同事的请求进行进一步处理,将同事成员之间的关系行为进行分离和封装。...原创 2022-02-18 09:17:46 · 179 阅读 · 0 评论 -
设计模式---责任链模式
责任链模式行为型设计模式,与结构型设计模式不同的是,其主旨在于优化流程。在实际开发中,如果遇到多个对象可以处理一个请求的时候,就可以考虑责任链模式。责任链模式的定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理......原创 2022-02-20 15:21:06 · 867 阅读 · 0 评论 -
设计模式---代理模式
代理模式定义: 代理模式的定义: 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。为什么要用代理模式?一是保护目标对象,二是增强目标对象中介隔离作用: 在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象......原创 2022-02-21 09:35:41 · 212 阅读 · 0 评论 -
设计模式---装饰者模式
装饰者模式定义:动态地给对象添加一些额外的职责或者行为,装饰器模式相比于生成子类更为灵活使用场景:1.用于拓展一个类的功能或者给一个类添加附加职责2.动态的给一个对象添加功能,这些功能可以再动态的撤销。3.需要为一批的兄弟类进行改装或加装功能。介绍:装饰器模式组成:抽象组件角......原创 2022-02-22 19:48:49 · 199 阅读 · 0 评论 -
设计模式---策略模式
策略模式类图:策略模式白话在现实生活中常常遇到实现某种目标存在多种策略可供选择的情况,例如,出行旅游可以乘坐飞机、乘坐火车、骑自行车或自己开私家车等,超市促销可以釆用打折、送商品、送积分等方法。策略模式的定义与特点策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。策略模式的主要优点如下。原创 2021-12-31 14:01:17 · 3834 阅读 · 0 评论 -
设计模式---享元模式
一、概念如果在一个系统中存在多个相同的对象,那么只需要共享一份对象的拷贝,而不必为每一次使用都创建新的对象。目的是提高系统性能。上面的概念乍一听好像单例模式其实不是,单例模式只保存一个对象,但是这里可以有很多个不同对象,但是每个对象只有一个实例而已。也就是说享元模式使用了单例模式。例子解释张三去借书,然后阅读完了还回去了,过一段时间发现还是不懂,又去借了同样的书,但是这本书其实和上一次借的书是同一本。李四也去借书,发现书架上没有,就去图书管理员那边拿出来了一本全新的书。这就是享元模式。享原创 2021-12-31 13:53:15 · 4213 阅读 · 0 评论 -
设计模式---组合模式
装饰者模式什么是装饰者模式?定义:动态地给对象添加一些额外的职责或者行为,装饰器模式相比于生成子类更为灵活使用场景:用于拓展一个类的功能或者给一个类添加附加职责动态的给一个对象添加功能,这些功能可以再动态的撤销。需要为一批的兄弟类进行改装或加装功能。介绍:装饰器模式组成:抽象组件角色(Component): 定义可以动态添加任务的对象的接口具体组件角色(ConcreteComponent):定义一个要被装饰器装饰的对象,即 Component 的具体实现抽象装饰器(Decor原创 2021-12-31 11:29:58 · 3993 阅读 · 0 评论 -
设计模式---门面模式
门面模式1、产生背景为什么需要门面模式?我是一个辛苦一辈子的农民,攒了几十年钱,现在日子好了,也想建一套属于自己的小洋楼;首先,我要雇一个搬砖的和一个和泥的,还要一个会砌墙的人;可是我到哪里去找这些人,还要一个一个跟他们谈价钱;不知道他们和不和得来,会不会干一半不干了;哎,好烦;要是有一个人什么都会就好,我只要跟他谈,他一个人就能帮我把房子建好;总之,我就是想省心;2、概念门面模式(Facade Pattern)也叫做外观模式,是一种比较常用的封装模式,其定义如下:提供一个统一的接口原创 2021-12-30 17:37:36 · 4170 阅读 · 0 评论 -
设计模式---命令模式
命令模式命令模式的定义 命令模式是一个高内聚的模式,其定义为:Encapsulate a request as an object,thereby letting you parameterize clients with different requests,queue or log requests,and support undoable operations.(将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。)原创 2021-12-30 17:31:14 · 4852 阅读 · 0 评论 -
设计模式---适配器模式
设计模式适配器模式1. 介绍1.1 模式说明定义一个包装类,用于包装不兼容接口的对象包装类 = 适配器Adapter;被包装对象 = 适配者Adaptee = 被适配的类1.2 主要作用把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法一起工作的两个类能够在一起工作。适配器模式的形式分为:类的适配器模式 & 对象的适配器模式1.3 解决的问题原本由于接口不兼容而不能一起工作的那些类可以在一起工作2. 模式原理2.1 类的适配器模式类的适配原创 2021-11-09 20:11:45 · 7986 阅读 · 0 评论