状态模式(State Pattern)
概念:状态模式 允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类 在软件设计中,我们经常会遇需要编写有很多状态的程序。最简单的如乘坐电梯程序,当我们要坐电梯时需要判断电梯的状态,只有当电梯处于当前楼时我们才能乘坐,当电梯不在当前楼层时我们要按下按钮等待电梯到来。在平时一般都通过 if…else 或者 switch 判断状态后处理,这种固定...
分类:
其他好文 时间:
2016-06-01 01:42:56
阅读次数:
374
1 using System; 2 3 namespace State 4 { 5 /// <summary> 6 /// 作者:bzyzhang 7 /// 时间:2016/5/28 19:44:40 8 /// 博客地址:http://www.cnblogs.com/bzyzhang/ 9 // ...
分类:
其他好文 时间:
2016-05-28 20:43:44
阅读次数:
172
状态模式:当对象的状态转换条件过于复杂时,把状态的判断逻辑转移到表示不同状态的一系列类,可以把复杂的判断逻辑简化。 当一个对象的行为取决于它的状态,并且必须在运行时刻根据状态改变它的行为时,就可以考虑使用状态模式了。 1 namespace DesignModel.状态模式 2 { 3 class ...
分类:
其他好文 时间:
2016-05-28 12:50:41
阅读次数:
128
总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
其实还有两类:并发型模式和线程池模...
分类:
其他好文 时间:
2016-05-27 11:53:00
阅读次数:
285
一、设计模式的分类
总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式...
分类:
编程语言 时间:
2016-05-23 19:12:39
阅读次数:
210
本章是关于设计模式的最后一讲,会讲到第三种设计模式——行为型模式,共11种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。这段时间一直在写关于设计模式的东西,终于写到一半了,写博文是个很费时间的东西,因为我得为读者负责,不论是图还是代码还是表述,都希望能尽量写清楚,以便读者理解,我想不论是我还是读者,都希望看到高质量...
分类:
编程语言 时间:
2016-05-23 17:26:40
阅读次数:
344
第一篇状态模式,其实比本文更先发表。但是我终觉得要写点什么,来开始我的敏捷的旅程。知道看了bob大叔这本书 以后,我才知道敏捷到底是怎么回事,纯属个人东拉西扯,所以就叫闲话敏捷。 《敏捷软件开发》问世与2003年,距今已有13个年头了,能够历久长盛不衰,必然有其光辉的一面。 以下都是个人的经验结合《 ...
分类:
其他好文 时间:
2016-05-21 11:30:42
阅读次数:
158
最近在使用状态模式写一个仿Windows计算器的MFC程序,顺便学习了一下UML图的绘制,尤其是类图和状态图的绘制,这里做一下总结吧。 一、UML简介 统一建模语言UML(Unified Modeling Language的缩写):是用来对软件系统进行可视化建模的一种标准语言。 (1)在开发阶段,U ...
分类:
其他好文 时间:
2016-05-20 06:09:15
阅读次数:
172
vi编辑器 一、vi编辑器中有三种状态模式 1、命令模式 2、输入模式 3、末行模式 二、vi编辑器的启动与退出 1、直接进入编辑环境 $ vi 2、进入编译环境并打开或新建文件 $ vi myfile 3、退出vi编辑环境(输入末行命令放弃对文件的修改,并推出编辑器) $ q! 三、vi中的文件操 ...
分类:
其他好文 时间:
2016-05-19 14:47:13
阅读次数:
110
状态模式的定义如下: Allow an object to alter its behavior when its internal state changes. The objects will appear to changeits class. 当一个对象内在状态改变时允许其改变行为这个对象看 ...
分类:
其他好文 时间:
2016-05-15 18:10:15
阅读次数:
137