命令模式:一次设定,统一执行。状态模式:相当于Ifelseifelse;设计路线:各个State类的内部实现(相当于If,elseIf内的条件)执行时通过State调用Context方法来执行。职责链模式:相当于Swichcase设计路线:客户设定,每个子类(case)的参数是下一个子类(case)...
分类:
其他好文 时间:
2015-01-05 18:39:15
阅读次数:
167
模式动机在很多情况下,一个对象的行为取决于一个或多个动态变化的属性,这样的属性叫做状态,这样的对象叫做有状态的 (stateful)对象,这样的对象状态是从事先定义好的一系列值中取出的。当一个这样的对象与外部事件产生互动时,其内部状态就会改变,从而使得系统的行为也随之发生变化。在UML中可以使用状态...
分类:
其他好文 时间:
2015-01-04 11:58:39
阅读次数:
210
状态模式的核心在于1. 状态的转换导致行为(Handle)的差异,比如人的状态是饿的时候,吃(Handle)的行为是2个馒头,人状态是不太饿的时候,吃(Handle)的行为是半个馒头2. State的对外接口(Handle)不因状态而改变,比如不管人是饿还是不饿,都有吃的行为3. 如果某个Concr...
分类:
其他好文 时间:
2014-12-30 15:00:01
阅读次数:
128
状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。 好处:将与特定状态相关的行为局部化,并且将不同状态的行为分...
分类:
其他好文 时间:
2014-12-30 11:25:37
阅读次数:
121
状态模式,主要是用于存在大量case判断的操作执行,同时这些case依赖于对象的状态,那么就可以将大量的case判断封装为独立的类。Context:-state,当前状态对象。ChangeState(state),切换state对象。OperationInterface(),调用State->Ope...
分类:
其他好文 时间:
2014-12-23 10:23:51
阅读次数:
201
一 、 设计模式概述
总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型
模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、
组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任
链模式、命令模式、备忘录模式、状态模式、访问者模式、...
分类:
其他好文 时间:
2014-12-19 00:41:40
阅读次数:
277
定义:当一个对象内在状态改变是允许改变其行为,这个对象看起来像是改变了其类。状态模式的好处就是讲与特定状态相关的行为进行了局部化,并且将不同状态行为进行分割。也就是将特定的与改状态相关的行为都放进一个对象中,由于所有与状态有关的代码都存在于某个具体的状态类中,所以通过定义新的具体的状态类就可以很容易...
分类:
其他好文 时间:
2014-12-17 23:51:53
阅读次数:
252
在面向对象的设计思想中,我们以前用过很多设计模式来去除选择和应对变化,比如工厂,状态模式,命令模式,但是如果我们使用了委托,我们就可以将方法当做变量来处理,这样事情就变得非常简单,而且从整体结构上看,比加入设计模式容易得多。...
分类:
其他好文 时间:
2014-12-07 15:05:16
阅读次数:
172
atitit.自己动手开发编译器and解释器(1) ------词法分析--attilax总结
1. 应用场景:::DSL 大大提升开发效率 1
2. 2. 流程如下::: 词法分析(生成token流) >>>>语法分析(生成ast) >>解释执行... 2
3. 如何进行词法分析?Fsm状态机(自动机)
2
4. 使用状态模式构建FSM (简单,易用。。推荐首选...
分类:
其他好文 时间:
2014-12-01 22:33:09
阅读次数:
433
设计模式被分成了三大类型:创建型、结构型和行为型。本文介绍一下行为型模式中的观察者模式、模板方法模式、命令模式、状态模式和职责链模式。
观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
优点:观察者模式解除了主题和具体观察者的耦合,让耦合的双方都依赖于抽象,而不是依赖具体。从而使得各自的变化都不会影响另一边的变化。
缺点:依...
分类:
其他好文 时间:
2014-11-30 23:14:36
阅读次数:
236