[TOC] 策略模式(Strategy Pattern),属于行为型模式,指的是定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化。 一个例子 前一阵子忙活落户的事,发现不同人群落户的政策也不太一样,如果要写一段程序针对不同人群做不同的处理该是什么样呢 ...
分类:
其他好文 时间:
2019-09-06 16:00:45
阅读次数:
93
模式名和分类 templateMethod 行为型模式 意图 定义一个操作中算法的骨架,而将一些步骤延迟到字类中。TemplateMethod使得字类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 动机 在Maven软件中,我们定义了3个生命周期,其中default生命周期里面有很多阶段, ...
分类:
其他好文 时间:
2019-08-21 11:28:20
阅读次数:
88
概述 当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。 使用场景 一个抽象模型有两个方面,其中一个方面依赖于另一个方面。将这些方面封装在独立的对象中使它们可以各自独立地改变和复用。 一个抽象 ...
分类:
其他好文 时间:
2019-08-20 19:00:21
阅读次数:
69
状态模式 状态模式是对象行为型模式,为了允许一个对象在其内部的状态改变时,修改其行为,这样看起来似乎是修改了它的类一样。状态模式实际上就是统一状态的变化来影响行为,比如一个简单的申请流程,发起-审批-结束,当状态为发起时,该条事务由发起人发起流程;状态为审批时,该条事务变成审批人审批;状态为结束时, ...
分类:
编程语言 时间:
2019-08-12 00:52:44
阅读次数:
116
状态模式对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。 状态模式是一种对象行为型模式,其主要优点如下。 状态模式的主要缺点如下。 UML: 示例: 以仓库里的无人仓储物流机器人(AGV)为例,设计AGV的工作模式时,为AGV定义3种状态:空 ...
分类:
编程语言 时间:
2019-08-10 21:46:32
阅读次数:
119
创建型模式: 单例模式,工厂模式,抽象工厂模式 结构型模式: 适配器模式,桥接模式,装饰模式,组合模式,外观模式,享元模式,代理模式 行为型模式: 模板方法模式,命令模式,迭代器模式,观察者模式,中介者模式,备忘录模式,解释器模式,状态模式,策略模式,职责链模式,访问者模式 ...
分类:
其他好文 时间:
2019-08-05 18:44:02
阅读次数:
118
责任链模式实现为请求创建了一个接收者对象的链。当请求的直接执行者无法实现请求时,会将请求传递给链的上一级进行处理。这种传递往往可以通过让接收者包含另一个接收者的引用的方式实现。 责任链模式是一种对象行为型模式,其主要优点如下。 其主要缺点如下。 UML: 举例:当在公司中请假,公司规定根据请假的天数 ...
分类:
编程语言 时间:
2019-07-31 21:35:00
阅读次数:
95
设计模式的目的 设计模式的目的是提高软件的可维护性、通用性和扩展性,并降低软件的复杂度。 一.设计模式七大原则 二.设计模式类型及概述 设计模式分为三种类型,共23种 1.创建型模式: 2.结构型模式: 3.行为型模式: 三. UML类图 UML类图主要用来帮助开发人员进行理解、记录思路的结果。简要 ...
分类:
其他好文 时间:
2019-07-26 01:39:03
阅读次数:
112
23种软件设计模式 本人是三本计科专业的学生,过了19年上半年的中级软件设计师,在辅导书上接触到23种软件设计模式的概念与作用。如果单纯的只是想把软设过了就只需要了解创建型模式,结构型模式,行为型模式分别有哪些设计模式,还要牢记每个设计模式的定义。本人有19年软件设计师最新的资料,有需要可自行下载。 ...
分类:
其他好文 时间:
2019-07-14 09:19:11
阅读次数:
83
模板模式 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 介绍 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变 ...
分类:
其他好文 时间:
2019-07-02 09:29:41
阅读次数:
104