0

设计模式之策略模式

大学时期申请的博客园,毕业后1年了,才写第一篇文章。啧啧啧! 大学里学了学设计模式。感觉策略模式是一种比较简单的设计模式,今天先从它下手,代码中如果根据根据业务类型不同,进行处理,应该可以优化很多地方,可读性,可扩展性,绝对能提升一个大档次 一、策略模式定义:就是定义一组算法,每种算法都封装起来,并 ...

莹小草 发布于 2020-07-05 23:42 评论(0)阅读(6)
0

设计模式(3) 抽象工厂模式

抽象工厂模式 优化抽象工厂 异步工厂 在学习抽象工厂模式前,先来回顾一下前面的简单工厂和工厂方法模式。简单工厂的职责非常简单:构造某个实体类型,然后把实例作为抽象类型返回; 工厂方法模式则进一步抽象出一个抽象的创建者和一个抽象的产品类型,而实际的执行过程是具体工厂创建具体的产品类型,具体工厂和具体产 ...

zhixin9001 发布于 2020-07-05 17:51 评论(0)阅读(11)
0

策略模式

有道无术,术可求 有术无道,止于术 一、策略模式的定义 先举一个例子来说:在网上购物的时候,有的时候会有一些打折的活动,可能会给你5元的优惠券,也有可能会给一张满减的优惠券,而无论给怎样的优惠券,到了开发人员的那边,这不过是它们写好的一些或者是封装好的一些类,这些这都是可以随时替换的,想搞一个其它的 ...

SDayUp 发布于 2020-07-03 16:42 评论(0)阅读(13)
0

中介者模式

#一、中介者模式介绍 ##1、定义与类型 定义一个封装一组对象如何交互的对象 通过使对象明确地相互引用来促进松散耦合,并允许独立地改变它们的交互 类型:行为型 ##2、适用场景 系统中对象之间存在复杂的引用关系,产生的相互依赖关系结构混乱且难以理解 交互的公共行为,如果需要改变行为则可以增加新的中介 ...

weixiaokun 发布于 2020-07-03 09:24 评论(0)阅读(13)
0

设计模式(2) 单例模式

单例模式 线程安全的Singleton 会破坏Singleton的情况 线程级Singleton 单例模式是几个创建型模式中最独立的一个,它的主要目标不是根据客户程序调用生成一个新的实例,而是控制某个类型的实例数量只有一个。 GOF对单例的描述为: Ensure a class only has o ...

zhixin9001 发布于 2020-07-02 22:33 评论(0)阅读(20)
0

设计模式(1) 工厂方法模式

创建型模式 简单工厂模式 工厂方法模式 IOC与工厂方法模式的结合 泛型工厂 委托工厂 创建型模式 创建型模式可以隔离客户程序对需要实例化类型的依赖关系,这类模式一般通过将实例化具体对象的职责委托给第三方对象的方式,使得客户程序或者外部系统在获得所需的具体类型实例的同时,而不必对其发生直接的引用。 ...

zhixin9001 发布于 2020-07-02 22:31 评论(0)阅读(22)
0

命令模式

#一、命令模式介绍 ##1、定义与类型 定义:将“请求“封装成对象,以便使用不同的请求 命令模式解决了应用程序中对象的职责以及它们之间的通信方式 类型:行为型 ##2、适用场景 请求调用者和请求接收者需要解耦,使得调用者和接收者不直接交互 需要抽象出等待执行的行为 ##3、优点 降低耦合 容易扩展新 ...

weixiaokun 发布于 2020-07-02 09:11 评论(0)阅读(23)
0

备忘录模式

#一、备忘录模式介绍 ##1、定义与类型 定义:保存一个对象的某个状态,以便在适当的时候恢复对象。 “后悔药" 类型:行为型 ##2、适用场景 保存及恢复数据相关业务场景 后悔的时候,即想恢复到之前的状态 ##3、优点 为用户提供一种可恢复机制 存档信息的封装 ##4、缺点 资源占用 ##5、相关设 ...

weixiaokun 发布于 2020-07-01 09:09 评论(0)阅读(26)
0

单例模式

1.简介 上图中在点击菜单按钮后不断的弹出子窗体,显然这种方式是不合理的。此场景正是可以运用单例模式来解决的一种运用。 其核心本质就是让类的对象只有一个,使用到的地方还包括:线程池、缓存、对话框等。 单例模式其实很好理解,最核心的含义就是通过该设计模式来确保一个类只有一个实例,并对外提供一个全局访问 ...

艾码士J 发布于 2020-06-27 12:07 评论(0)阅读(22)
0

观察者模式

#一、观察者模式介绍 ##1、定义与类型 定义:定义了对象之间的一对多依赖,让多个观察者对象同时监听某一个主题对象,当主题对象发生变化时,它的所有依赖者(观察者)都会收到通知并更新 类型:行为型 ##2、适用场景 关联行为场景,建立一套触发机制 例如:朋友圈点赞后的其他人评论提醒,网店商品的降价提醒 ...

weixiaokun 发布于 2020-06-19 07:20 评论(0)阅读(31)
0

设计模式:思维导图

常用设计模式思维导图,大部分设计模式在spring和jdk源码中都有体现。 在学习spring源码前,有必要花一定时间了解设计模式。 ...

挣扎一下 发布于 2020-06-18 23:57 评论(0)阅读(43)
1

软件设计模式学习(二十七)访问者模式

访问者模式是一种较为复杂的行为型设计模式,它包含访问者和被访问元素两个主要组成部分,这些被访问的元素具有不同的类型,且不同的访问者可以对其进行不同的访问操作 模式动机 对于系统中某些对象,它们存储在同一个集合中,且具有不同的类型。对于该集合中的对象,可以接受一类称为访问者的对象来访问,不同的访问者其 ...

低吟不作语 发布于 2020-06-18 15:36 评论(0)阅读(65)
0

解释器模式

#一、解释器模式介绍 ##1、定义与类型 定义:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 为了解释一种语言,而为语言创建的解释器 类型:行为型 #2、适用场景 某个特定类型问题发生频率足够高 ##3、优点 语法由很多类表示,容易改变及扩展此“语 ...

weixiaokun 发布于 2020-06-18 07:25 评论(0)阅读(10)
0

软件设计模式学习(二十六)模板方法模式

模板方法是结构最简单的行为型设计模式,在抽象类中定义了一个称为模板方法的方法,在这个方法中定义其他基本方法的执行步骤,而基本方法的实现可以放在抽象类,也可以放在其子类 模式动机 现实生活中很多事情的完成过程都包含几个基本步骤,例如请客吃饭,无论吃什么,一般都包含点单、吃东西、买单几个步骤,到底吃什么 ...

低吟不作语 发布于 2020-06-17 15:12 评论(0)阅读(46)
0

策略模式

#一、策略模式介绍 ##1、定义与类型 定义:定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的用户。 可以替换掉大量的 if...else...… 类型:行为型 ##2、适用场景 系统有很多类,而他们的区别仅仅在于他们的行为 不同一个系统需要动态地在几种算 ...

weixiaokun 发布于 2020-06-17 07:22 评论(0)阅读(19)
0

23种设计模式之过滤模式

/** * 1.模式定义: * 过滤器(Filter Pattern)又称为标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象, * 通过预算逻辑以解耦的方式将他们联系起来。这种类型的设计模式属于结构模型,说白了,就是按条件筛选一组对象出来。 ...

赤赤元 发布于 2020-06-16 10:13 评论(0)阅读(49)
1

【设计模式】如何用组合替代继承

如果问面向对象的三大特性是什么,多数人都能回答出来:封装、继承、多态。 继承 作为三大特性之一,近来却越来越不推荐使用,更有极端的语言,直接语法中就不支持继承,例如 Go。这又是为什么呢? 为什么不推荐使用继承? 假设我们要设计一个关于鸟的类。 我们将“鸟类”定义为一个抽象类 AbstractBir ...

丹枫无迹 发布于 2020-06-15 09:47 评论(2)阅读(316)
0

讲清责任链模式

责任链模式 (Chain of Responsibility Pattern) 责任链模式相信很多人在工作中也接触过。 javax.servlet.Filter struts的拦截器 SpringMVC的拦截器 那么,接下来我们来进行更加深入的、直观的了解。 讲解重点 责任链示例代码 链条与链条之间 ...

雅核 发布于 2020-06-12 11:27 评论(0)阅读(31)
0

软件设计模式学习(二十五)策略模式

策略模式用于算法的自由切换和扩展,实现了算法定义和算法分离的使用 模式动机 要完成一项任务,可以有多种不同的方式,例如人们外出旅游时可以选择多种不同的出行方式,如自行车、坐汽车、坐高铁或乘飞机等,每一种方式称为一个策略,我们可以根据环境或者条件的不同选择不同的策略来完成该任务。 在实际的软件开发中, ...

低吟不作语 发布于 2020-06-12 08:59 评论(0)阅读(95)
0

建造者模式

建造者模式(Builder Pattern) 定义:Separate the construction of a complex object from its representation so that the same construction process can create diffe ...

meigang 发布于 2020-06-11 10:18 评论(0)阅读(21)