1. 观察者设计模式: 意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。 何时使用:一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象 ...
分类:
编程语言 时间:
2016-04-18 17:06:27
阅读次数:
175
对象的组合 一、设计线程安全的类 1.在设计线程安全类的过程中,需要包括以下三个基本要素: 1)找出构成对象状态的所有变量 2)找出约束状态变量的不变性条件 3)建立对象状态的并发访问管理策略 2.收集同步需求 要确保类的线程安全性,就需要确保它的不变性条件不会再并发访问的情况下被破坏,这就需要对其 ...
分类:
其他好文 时间:
2016-04-15 02:01:19
阅读次数:
146
状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 “状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。” 结构图 ...
分类:
其他好文 时间:
2016-04-05 16:10:38
阅读次数:
214
原文链接:http://www.orlion.ga/719/ 解释: 观察者设计模式能够更便利创建和查看目标对象状态的对象,并且提供和核心对象非耦合的置顶功能性。 代码: 首先是CD类: 其中attachObserver()方法注入CD的观察者,而notifyObserver()方法则是通知CD的观 ...
分类:
其他好文 时间:
2016-04-03 23:44:05
阅读次数:
153
1.本地变量 一看这个标题你可能会一愣,这是个什么东东。看个小例子: static void main(){ int a=10; MyClass mc=new MyClass();} 呵呵,这里的a与mc就是本地变量,它和字段一样,也保存数据。字段通常保存和对象状态有关的数据,而创建本地变量经常用于 ...
在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。大话设计模式中程杰老师给出的定义是,状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移...
分类:
其他好文 时间:
2016-03-29 10:36:05
阅读次数:
194
1. 概述 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 2. 解决的问题 主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同的一系列类当中,可以把复杂的逻辑判断简单化。 3. 模式中的角色 3.1 上下文环境(Context)
分类:
其他好文 时间:
2016-03-05 23:43:53
阅读次数:
260
PHP版本 <?php /** * 观察者模式 * 观察者模式能够便利的创建查看目标对象状态的对象,并且提供与核心对象非耦合的指定性功能。 * * 为软件添加由某个动作或状态变化激活的,但是松散耦合的新功能时,应当创建基于观察者模式的对象。 * * SPL:Standard PHP Library
分类:
Web程序 时间:
2016-02-23 18:28:00
阅读次数:
191
6.1 接口 6.1.1 接口的特性 6.1.2 接口与抽象类6.2 对象克隆6.3 接口与回调6.4 内部类 6.4.1 使用内部类访问对象状态 6.4.2 内部类的特殊语法规则 6.4.3 内部类是否有用、必要和安全 6.4.4 局部内部类 6.4.5 由外部方法访问final变量...
分类:
其他好文 时间:
2016-01-24 14:07:24
阅读次数:
134
1. 概述 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。2. 解决的问题 主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同的一系列类当中,可以把复杂的逻辑判断简单化。3. 模式中的角色 3.1 上下文环境(Context...
分类:
其他好文 时间:
2015-12-31 12:28:06
阅读次数:
108