在阎宏博士的《JAVA与模式》一书中开头是这样描述状态(State)模式的:
状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。
状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。
状态模式的结构
用一句话来表述,状态模式把所研究的对象的行为包装在不同的状态对象里,每...
分类:
移动开发 时间:
2014-11-19 20:39:43
阅读次数:
180
一、UML图
二、概述
下面是来自书本和网络的对状态模式的定义和分析:
(1)状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。看起来,状态模式好像是神通广大很厉害似的——居然能够“修改自身的类”!
(2)适用场景:a)状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复...
分类:
编程语言 时间:
2014-11-18 10:19:38
阅读次数:
224
关于连接状态改变的情况客户端下线的两种方式1.客户端主动下线子线程会收到socket状态改变的消息/* 连接状态改变 */static void conn_eventcb(struct bufferevent *bev, short events, void *user_data){ auto...
分类:
其他好文 时间:
2014-11-16 18:38:23
阅读次数:
247
在Linux中,没有文件创建时间的概念。只有文件的访问时间、修改时间、状态改变时间。也就是说不能知道文件的创建时间。但如果文件创建后就没有修改过,修改时间=创建时间;如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间;如果文件创建后,没有被读取过,那么访问时间=创建时间,这个基本不太可能。...
分类:
系统相关 时间:
2014-11-15 18:45:36
阅读次数:
243
本篇博文实例讲解通过自定义的ListView实现
一.ListView 底部分页加载
整个底部分页加载,主要分一下几步:
1.加载底部自定义View;
2.响应OnScrollListener监听事件,onScroll方法记录最后可见的View Item以及整个totalItemCount。当onScrollStateChanged状态改变时,
当滑动到底端,并滑动状态为 SCROLL_STATE_IDLE,显示底部加载View,开始实现自定义加载接口;
3.当数据加载完成时,隐藏底部下拉View....
分类:
移动开发 时间:
2014-11-12 10:33:38
阅读次数:
338
观察者模式(Observer)也叫发布/订阅模式(Publish/Subscribe)
- 问题:
在软件设计中,经常需要对一个对象的状态改变,从而引起很多对象的状态发生改变。这个特点很明显,复用性强,而且对象之间匿名通信。观察者模式最为适合。
- 原理:
举个例子:
包括四个角色:
1、抽象主题(subject)。是个协议,是一个观察者集合容器,定义了添加,移除和对所有观察者发送通知...
分类:
移动开发 时间:
2014-11-05 00:29:59
阅读次数:
193
//无模式的提示框//屏蔽按键 屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键//屏蔽打印//移动的图层,拖动1.meizz2.wlecome//文档状态改变//刷新后不变....
分类:
编程语言 时间:
2014-11-04 14:28:00
阅读次数:
287
物理或化学参数改变原理的具体描述如下:1)改变物体的系统状态;2)改变浓度或者密度;3)改变柔韧程度;4)改变温度或者体积:前面也有些原理,比如颜色改变原理,也是属于物理或化学参数改变原理,TRIZ将这些单独列出应该是因为这些改变更为常见和普遍,另外也有利于后面的冲突和矛盾矩阵的应用;从发明创新来讲,包含试错法在内的很多方法也会改变系统的物理或者化学参数来达到创新的目的,实际上,我们在创新的过...
分类:
其他好文 时间:
2014-11-01 07:34:01
阅读次数:
283
状态模式(State Pattern)是设计模式的一种,属于行为模式。 定义(源于Design Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系.....
分类:
编程语言 时间:
2014-10-31 15:09:10
阅读次数:
189
1.Reachability// 监听网络状态改变的通知[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkStateChange) name:kReachabilityChangedNot...
分类:
移动开发 时间:
2014-10-24 16:22:23
阅读次数:
343