刚刚研究完观察者设计模式,yii2随处用到的东西,记录竟总结一下,可能印象会更深一些/** * 观察者模式 */ class Father{ private $_observers = array(); public function register($sub){ /* 注册观察者...
分类:
Web程序 时间:
2014-11-18 23:03:50
阅读次数:
230
背景:用户操作鼠标,涉及的动作有左击、右击、双击。每种动作对应一种状态,状态的切换对应着不同的鼠标点击事件。类图:状态接口类:/** * 状态接口 * */public interface State { public void change();}鼠标移入类:public class Mou...
分类:
其他好文 时间:
2014-11-16 12:01:50
阅读次数:
149
理解javascript观察者模式(订阅者与发布者)
分类:
编程语言 时间:
2014-11-16 01:51:03
阅读次数:
327
什么是观察者模式?观察者模式包括观察者和被观察者。被观察者包含观察者感兴趣的字段或内容。当某件事发生的时候(通常是观察者感兴趣的内容),观察者会被自动告知,并且采取行动,调用处理方法。他们的交互模式是:被观察者提供注册和取消注册的方法,并保存对注册了事件的观察者的引用(通常是使用泛型集合)— 注.....
分类:
其他好文 时间:
2014-11-15 18:32:44
阅读次数:
242
需求: 有一个报社,用户可以随时订阅报纸,也可以随时取消订阅。当每天的新闻来的时候,报社用邮递员投递给订阅了报纸的用户。订阅者有老人、小孩和青年。 分析: 报社相当于被观察的对象,用户相当于观察者,一旦新闻有更新,报社就通知所有观察者。 类图: 扩展: 该类图使用的是“推”的方式将新闻推送给订阅者。...
分类:
其他好文 时间:
2014-11-15 12:47:22
阅读次数:
175
观察者模式有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。观察者模式中有四个角色:
抽象主题:它是一个接口。它把所有观察者对象的引用保存到一个聚集里,每个主题都可以有任何数量的观察者。抽象主题提供一个接口,可以增加和删除观察者对象。其中有三个抽象方法:
Attac...
分类:
移动开发 时间:
2014-11-14 12:43:51
阅读次数:
258
委托与很多设计模式都有着千丝万缕的联系,在前面的随笔中已经介绍了委托与策略模式的联系,本节主要来讨论委托与其他两个模式:观察者模式和模板方法模式。委托与观察者模式在.NET中,很多设计模式得到了广泛应用,如foreach关键字实现了迭代器模式。同样的,.NET中也内置了观察者模式的实现方式,这种方式...
分类:
其他好文 时间:
2014-11-14 12:10:23
阅读次数:
203
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
namespace观察者模式
{
classProgram
{
staticvoidMain(string[]args)
{
看NBA的同事zhangSan=new看NBA的同事(){Name="张三"};
看NBA的同事li=new看NBA的同..
分类:
其他好文 时间:
2014-11-11 02:05:56
阅读次数:
185
设计模式之观察者模式1、AbstractNotifier类(主题或抽象通知者类):一般用一个抽象类或接口实现。它把所有对观察者对象的引用保存在一个聚集里,每个主题都可以有任何数量 的观察者。抽象主题提供一个接口可以增加或删除观察者对象。2、AbstractObserver类(抽象观察者类):为所有具...
分类:
其他好文 时间:
2014-11-10 21:10:11
阅读次数:
150
给iOS初学者简单介绍KVO设计模式,让其能够快速的应用的设计开发中...
分类:
移动开发 时间:
2014-11-09 15:23:07
阅读次数:
5764