1.模板方法钩子: 在抽象基类已经有默认的定义,子类选择是否覆盖它在模板方法模式中, 抽象基类中使用 钩子函数(子类视情况是否覆盖) 来达到控制模板方法中 流程控制的 目的设计原则: 高层组件对待低层组件的方式是“别调用我们, 我们会调用你”2.状态模式 ...
分类:
其他好文 时间:
2015-08-08 14:52:49
阅读次数:
136
一.unixlinux下标准编辑器为vivi三种状态模式:命令模式(commandmode)、插入模式(insertmode)、底行模式(lastlinemode)。一般可以把底行模式归为命令模式①命令模式:控制屏幕光标的移动,字符、字或行的删除,移动复制某区域及进入插入模式、或底行模式。备注:插入模式和..
分类:
系统相关 时间:
2015-08-07 16:34:23
阅读次数:
167
在机房收费系统中,有几个业务逻辑是比较复杂的,比如说上机、下机。记得我在做第一版VB收费系统的时候,还特别地将上下机拿出来画了一个完整的流程图,要不这样做的话,最后的结果一定是懵了,也不想再继续写代码了。
在进行设计模式的学习之前,我们很有必要将上机这一业务逻辑完整的梳理一遍。
一.上机业务逻辑
1.判断卡号是否存在
2.判断卡号是否使用
3.判断卡号余额是否充足
4.判断...
分类:
其他好文 时间:
2015-08-07 09:35:58
阅读次数:
142
本章是关于设计模式的最后一讲,会讲到第三种设计模式——行为型模式,共11种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。先来张图,看看这11中模式的关系:第一类:通过父类与子类的关系进行实现。第二类:两个类之间。第三...
分类:
其他好文 时间:
2015-08-05 19:51:22
阅读次数:
163
设计模式概念接触到比较早,之前看看感觉各个模式讲的都差不多,可能感悟不深。最近研究一下,通过具体代码示例加深理解。 今天学习的是状态模式。状态模式主要的精髓在于把各种状态抽象出来,每种状态的业务逻辑在各自的状态中去实现。把整体的业务逻辑抽象成一个具体调用各状态的类。整体的业务逻辑,即是在各状态...
分类:
其他好文 时间:
2015-08-05 16:15:00
阅读次数:
132
状态模式——水之三态什么是状态?状态即事物所处的某一种形态。状态模式是说一个对象在其内部状态发生改变时,其表现的行为和外在属性不一样,这个对象看上去就像是改变了它的类型一样。因此,状态模式又称为对象的行为模式。如我们生活中经常见到的水,就有三种不同状态冰、水、水蒸汽,三种状态所表现的外在性质完全不一样:1.冰,质坚硬,无流动性,表面光滑;2.水,具有流动性;3.水蒸汽,肉眼看不见,却存在于空气中,质...
分类:
其他好文 时间:
2015-08-04 00:49:26
阅读次数:
151
State Pattern
Allow an object to alter its behavior when its internal state changes.The object will appear to change its class.(当一个对象内在状态改变时,允许其改变行为,这个对象看起来像改变了其类)
要说建造者模式是按照客户提供的顺序执行,那么这个是应对多...
分类:
其他好文 时间:
2015-07-26 12:48:56
阅读次数:
137
面向对象设计其实就是希望做到代码的责任分解。一个类的设计尽量要做到 “单一职责原则”;一旦需求发生变化,改动的地方就越小。如果一个类的方法里面有很多个逻辑处理(比如:else if分支过多),如果一旦需求发生变化,(比如:某个else if分支的需求发生变化),需要改动整个方法,维护出错的风险很大。...
分类:
其他好文 时间:
2015-07-26 12:35:24
阅读次数:
126
结构意图允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。适用性一个对象的行为取决于它的状态, 并且它必须在运行时刻根据状态改变它的行为。一个操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态。这个状态通常用一个或多个枚举常量表示。通常, 有多个操作包含这一相同的条...
分类:
其他好文 时间:
2015-07-23 09:25:12
阅读次数:
112
《head first 设计模式》中的例子很不错,想制造一个自动交易的糖果机,糖果机有四个状态:投入钱不足,投入钱足够,出售糖果,糖果售罄。糖果机的当前状态处于其中不同的状态时,它针对同一个操作的反映动作也不同。传统面向过程编程会套用if-else对不同的状态下分别处理,逻辑麻烦而且不具有可拓展性。
状态模式:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。状态模式的重点...
分类:
编程语言 时间:
2015-07-21 17:01:19
阅读次数:
168