一、引言 今天我们开始讲“行为型”设计模式的第八个模式,该模式是【职责链模式】,英文名称是:Chain of Responsibility Pattern。让我们看看现实生活中的例子吧,理解起来可能更容易。我们看看某公司的采购流程吧。某公司的规章制度规定,采购原材料的总价在5万之内,只需要 ...
一 引言 今天我们开始讲 行为型 设计模式的第十一个模式,也是面向对象设计模式的最后一个模式,先要说明一下,其实这个模式不是最后一个模式 按Gof的排序来讲 ,为什么把它放在最后呢 因为我们在业务系统中写一个解释器的机会并不是很多,实践比较少,理解和应用该模式就有些困难,所以就放在最后来说。该模式就是 解释器模式 ,英文名称是:Interpreter Pattern。按老规矩,先从名称上来看看这个 ...
2018-01-08 13:34 2 3384 推荐指数:
一、引言 今天我们开始讲“行为型”设计模式的第八个模式,该模式是【职责链模式】,英文名称是:Chain of Responsibility Pattern。让我们看看现实生活中的例子吧,理解起来可能更容易。我们看看某公司的采购流程吧。某公司的规章制度规定,采购原材料的总价在5万之内,只需要 ...
一、引言 今天我们开始讲“行为型”设计模式的第九个模式,该模式是【访问者模式】,英文名称是:Visitor Pattern。如果按老规矩,先从名称上来看看这个模式,我根本不能获得任何对理解该模式有用的信息,而且这个模式在我们的编码生活中使用的并不是很多。该模式的意图定义很抽象,第一次看了 ...
一、概述 在软件开发特别是DSL开发中常常需要使用一些相对较复杂的业务语言,如果业务语言使用频率足够高,且使用普通的编程模式来实现会导致非常复杂的变化,那么就可以考虑使用解释器模式构建一个解释器对复杂的业务语言进行翻译。这种做法虽然效率相对较低,但可以允许用户使用自定义的业务语言来处理逻辑 ...
解释器模式(Interpreter) 考虑上图中计算器的例子 设计可以用于计算加减运算(简单起见,省略乘除),你会怎么做? 你可能会定义一个工具类,工具类中有N多静态方法 比如定义了两个方法用于计算a+b ...
一、引言 今天我们开始讲“行为型”设计模式的第十个模式,该模式是【备忘录模式】,英文名称是:Memento Pattern。按老规矩,先从名称上来看看这个模式,个人的最初理解就是对某个对象的状态进行保存,等到需要恢复的时候,可以从备忘录中进行恢复。生活中这样的例子也能经常看到,如备份电话通讯录 ...
一、引言 “结构型”的设计模式已经写完了,从今天我们开始讲“行为型”设计模式。现在我们开始讲【行为型】设计模式的第一个模式,该模式是【模板方法】,英文名称是:Template Method Pattern。还是老套路,先从名字上来看看。“模板方法”我第一次看到这个名称,我的理解是,有一个方法 ...
(Interpreter Pattern) :定义语言的文法,并且建立一个解释器来解释该语言中的句子,这里的“语言” ...
一、引言 今天我们开始讲“行为型”设计模式的第三个模式,该模式是【迭代器模式】,英文名称是:Iterator Pattern。还是老套路,先从名字上来看看。“迭代器模式”我第一次看到这个名称,我的理解是,迭代是遍历的意思,迭代器可以理解为是遍历某某的工具,遍历什么呢?在软件设计中,当然遍历 ...