摘要: 一、访问者模式概述 (1)模式动机 对于存储在一个集合中的对象,他们可能具有不同的类型(即使有一个公共的接口),对于该集合中的对象,可以接受一类称为访问者的对象来访问,不同的访问者其访问方式也有所不同。 (2)定义 表示一个作用于某对象结构中的各元素操作,它使我们可以在不改各元素类的前提下定义作用于 阅读全文
posted @ 2018-01-23 11:44 C3Stones 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 一、模板方法模式概述 模板方法模式是编程中经常使用的模式。它定义了一种操作中的算法架构,将某些步骤延迟到子类中实现。这样,新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤。 (1)核心: 处理某个流程的代码已经都定义好了,但是其中某个节点的代码暂时不能确定,因此,采用模板方法模式 阅读全文
posted @ 2018-01-23 11:37 C3Stones 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 一、策略模式概述 策略模式对应于解决某一个问题的一个算法族,允许用户从该算法族中任选一种算法解决一个问题,同时可以方便的更换算法或者增加新的算法。并且由客户端决定调用哪个算法。 策略模式的本质: 分离算法,选择实现。 二、策略模式场景导入 某公司市场部在接单时根据不同的客户进行报价,可以划分为以下几 阅读全文
posted @ 2018-01-23 11:14 C3Stones 阅读(619) 评论(0) 推荐(0) 编辑
摘要: 一、状态模式概述 用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题。 结构: (1)Context 环境类 环境类中维护一个 State 对象,它定义了当前的状态。 (2)State 抽象状态类 (3)ConcreteState 具体状态类 每一个类封装了一个状态对应的行为。 二、状态模 阅读全文
posted @ 2018-01-23 10:25 C3Stones 阅读(557) 评论(0) 推荐(0) 编辑
摘要: 一、观察者模式概述 观察者模式主要用于 1 :N 的通知。当一个对象(目标对象 Subject 或 Observable)的状态变化时,它需要通知一系列对象(观察者对象 Observer),令它们做出响应。 通知观察者的方式: (1)推 每次都会把通知以广播的方式发送给所有观察者,所有观察者只能被动 阅读全文
posted @ 2018-01-23 09:49 C3Stones 阅读(353) 评论(0) 推荐(0) 编辑