05 2011 档案
摘要:从一个简单的实例入手一、编写需要测试的类,该类为String对象扩展了IsIn方法,目的是判断当前字符串是否存在于指定的数组中,代码如下:View Code public static class HelperString { public static bool IsIn(this string str, string[] strs) { if (strs == null) { if (str == null) { return true; } return false; } foreach (string item in strs) { if (str == item) { return
阅读全文
摘要:一、享元模式是为了解决一个系统创建了过多类实例而带来的系统开销的解决方案二、内部状态,即在一个对象中不会随外部环境不同而发生变化的状态,是需要被共享的状态三、外部状态,与内部状态相反四、以下是一个公司饮水机的例子。使用享元模式,保存了各个部门的饮水机实例,不需要在每个员工饮水的时候去实例化。 View Code /// <summary> /// 饮水机超类 /// </summary> public abstract class WaterMachine { /// <summary> /// 剩余的水量 /// </summary> publ
阅读全文
摘要:一、在调用一个已存在的,不易更改的对象时,如果需要将该对象的接口与自己的项目所需要的接口一致时,需要使用适配器模式。View Code /// <summary> /// 输入对象通用接口 /// </summary> public interface IWriter { void Write(string content); }View Code /// <summary> /// 实现了通用接口的普通输入对象 /// </summary> public class Writer:IWriter { public void Write(stri
阅读全文
摘要:一、观察者对象在触发某个事件的时候会通知在观察者对象中注册的其他对象二、使用抽象接口实现对象的松耦合,即观察者可以注册支持某个接口的所有对象,而被注册的对象也只依赖于支持某个接口观察者对象。例如:邮局相对于一个观察者,每个邮局都有一个接口,发送快递。 每个客户相对于不同的接收者,邮局在收到快递后,会通知收信的客户。View Code /// <summary> /// 观察者对象的抽象实现 /// </summary> public abstract class Inform { protected List<IViewer> Viewers = new L
阅读全文

浙公网安备 33010602011771号