文章通过用Go语言实现的设计模式,总结了各模式的特点和使用场景,并配以现实生活中的实例,帮助理解设计模式。本篇包括:模板模式、迭代器模式、组合模式、状态模式、代理模式、桥接模式和建造者模式; ...
分类:
其他好文 时间:
2017-08-29 20:39:09
阅读次数:
150
审批操作是ERP或OA系统中必不可少的功能之一。这里介绍两种我设计的用于审批操作的方案,并借此就“状态模式”与“策略模式”提出一点自己的理解。别问我为什么不使用工作流引擎等工具来实现审批功能。做第一版方案时,我孤陋寡闻得并不知道有这个东西。后来引入工作流框架会导..
分类:
其他好文 时间:
2017-08-27 10:11:43
阅读次数:
163
以下是学习过程中查询的资料,别人总结的资料,比较容易理解(站在各位巨人的肩膀上,望博主勿究) 创建型抽象工厂模式 http://www.cnblogs.com/java-my-life/archive/2012/03/28/2418836.html工厂方法 http://www.cnblogs.co ...
分类:
其他好文 时间:
2017-08-25 12:17:30
阅读次数:
162
状态模式(State):当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类。 ...
分类:
其他好文 时间:
2017-08-22 10:58:54
阅读次数:
131
一、引言 前面主题介绍的状态模式是对某个对象状态的抽象,而本文要介绍的策略模式也就是对策略进行抽象,策略的意思就是方法,所以也就是对方法的抽象,下面具体分享下我对策略模式的理解。 二、策略者模式介绍 2.1 策略模式的定义 在现实生活中,策略模式的例子也非常常见,例如,中国的所得税,分为企业所得税、 ...
分类:
其他好文 时间:
2017-08-15 21:20:44
阅读次数:
163
本文从简单的样例入手,逐步演变成很复杂的程序。 在简明 状态模式(5.8)中,状态之间的变换由外界控制,或者说。多种状态是切割的、无关的。状态模式最有趣的地方正是讨论其状态的变迁。 1.引子 空调(air-condition)的遥控器有两个button(很多其它的button在后面的样例中引入),p ...
分类:
编程语言 时间:
2017-08-15 13:23:28
阅读次数:
194
1、在一个switch里面,必须有一个default放在最后,即使什么逻辑也没有。 2、表达异常分支时,少用if else,这种可以改成: if (condition) { return; } 如果非得使用if else避免超过三层。否则维护很困难。可以使用为语句或者状态模式来替换。 3、不要在条件 ...
分类:
编程语言 时间:
2017-08-11 00:28:36
阅读次数:
221
当一个类A的某个成员变量的值变化时,可能导致多个行为表现得不同。将该成员变量封装成类型的模式,即为状态模式(state pattern)。 编程技巧:以多态来重构分支结构。 设计思路:解决状态加入、状态转换、状态对行为的影响问题。 状态决定行为 先不考虑状态转换,非常easy看到状态决定行为的场景。 ...
分类:
其他好文 时间:
2017-08-10 17:58:14
阅读次数:
118
状态模式: 允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。 要点: 1、状态模式允许一个对象基于内部状态而拥有不同的行为 2、和程序状态机(PSM)不同,状态模式用类代表状态 3、Context会将行为委托给当前状态对象 4、通过将每个状态封装进一个类,我们把以后需要做的任何改变 ...
分类:
编程语言 时间:
2017-08-06 23:06:31
阅读次数:
187
在软件开发过程中,很多对象也会像水和信号灯一样具有多种状态,这些状态在某些情况下能够相互转换,而且对象在不同的状态下也将有不同的行为。最直接的解决方案是将所有可能考虑到,然后使用if else 语句来进行不同情况的处理,但是这种硬编码方法在对待复杂状态的判断就显得力不从心了,增加新的状态或修改一个状 ...
分类:
其他好文 时间:
2017-08-05 12:40:34
阅读次数:
119