责任链模式: 下图为责任链 1、定义:为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对象 记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止 2、模型结构: (1)抽象处理者(Handler):定义一个处理请求的接口,包含抽象处 ...
分类:
其他好文 时间:
2019-10-06 13:21:55
阅读次数:
71
在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 介绍 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的 ...
分类:
其他好文 时间:
2019-10-05 18:46:20
阅读次数:
118
职责链模式(Chain of Responsibility): 在现实生活中,常常会出现这样的事例:一个请求需要多个对象处理,但每个对象的处理条件或权限不同。如公司员工报销差旅费,可审批的领导有部分负责人、副总经理、总经理等,但每个领导能审批的金额是不同的,不同的金额需要找相应的领导审批,也就是说要 ...
分类:
其他好文 时间:
2019-10-04 14:53:24
阅读次数:
102
命令模式(Command): 将请求封装成对象,以便使用不同的请求、日志、队列等来参数化其他对象。命令模式也支持撤销操作。 命令模式的角色: 1)传递命令对象(Invoker):是请求的发送者,它通常拥有很多的命令对象,并通过访问命令对象来执行相关请求,它不直接访问接收者。 2)抽象命令接口(Com ...
分类:
其他好文 时间:
2019-10-03 16:05:52
阅读次数:
97
策略模式(Strategy): 策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是:“准备一组算法,并将每一个算法封装起来,使得它们可以互换”。 策略模式的角色: 1) ...
分类:
其他好文 时间:
2019-10-02 17:00:58
阅读次数:
97
多年后, 再次翻阅数据结构书籍, 将每种模式的要点总结于此, 需要本身有一定设计模式基础, 再结合要点, 帮助更好理解与运用. ...
分类:
其他好文 时间:
2019-09-30 12:50:57
阅读次数:
72
1 课程讲解 1.1 类型: 1.2 定义: 1.3 适用场景: 1.4 优点: 1.5 缺点: 1.6 与其他设计模式关系: 行为型 定义:定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的用户。if...else..… 扩展: 使用算法的用户就是应用层, ...
分类:
其他好文 时间:
2019-09-28 14:45:48
阅读次数:
85
一、概述 提供了评估语言的语法或表达式的方式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。 意图:给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器使用该标识来解释语言中的句子。 主要解决:对于一些固定文法构建一个解释句子的解释器 ...
分类:
其他好文 时间:
2019-09-24 12:03:19
阅读次数:
60
1 课程讲解 1.1 类型: 1.2 定义: 1.3 适用场景: 1.4 优点: 1.5 缺点: 1.6 与其他设计模式关系: 行为型 ◆定义:提供一种方法,顺序访问一个集合对象中的各个元素,而又不暴露该对象的内部表示 ◆访问一个集合对象的内容而无需暴露它的内部表示◆为遍历不同的集合结构提供一个统一 ...
分类:
其他好文 时间:
2019-09-21 12:23:03
阅读次数:
75
设计模式 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、 ...
分类:
其他好文 时间:
2019-09-19 12:27:43
阅读次数:
87