代码改变世界

观察者模式

2012-06-23 08:16 by chengzhang, 168 阅读, 0 推荐, 收藏,
摘要:刚刚申请博客,以后会用它来记录自己软件学习中的点滴,希望与大家共同成长。观察者模式,又可被称为发布-订阅模式,反映了一种一对多的关系,当某个对象的状态变化会对多个对象造成影响,且不清楚受影响的对象数和会造成何种影响时可以考虑使用观察者模式。观察者模式可以通过委托事件来实现。举例说明,首先定义发布者类,该类中定义事件,并定义用于绑定订阅者和解除对订阅者的绑定的方法,还要定义方法对事件进行发布。然后定义一个接口,其中定义了与发布者类中事件委托类型相符的方法接口。之后可以定义订阅者类了,订阅者类要实现之前定义的接口,也就是对发布者事件对订阅者造成的具体影响进行定义。当各个订阅者之间有相似之处(有共同 阅读全文

设计模式-单件模式

2012-06-09 10:04 by chengzhang, 135 阅读, 0 推荐, 收藏,
摘要:1经典模式 class Singleton { static Singleton instance; Singleton() { } public static Singleton Instance//静态属性? { get { if (instance == null) instance = new Singleton(); return instance; } } }该类构造函数被定义为private,静态属性Instance是客户程序获得类型实例的唯一入口。if语句控制实例创建的数量。该方式在多线程环境下存在缺陷。当多个线程几乎同时调用该类的Instance属性方法时,Instance成 阅读全文