02 2011 档案

摘要:匿名方法匿名方法与具名方法在本质上是相同的,使用匿名方法后编译器在定义匿名方法的类的外部动态生成具名方法。 /// <summary> /// 定义委托 /// </summary> delegate void DoWorkDelegate();class Program { static void Main(string[] args) { //具名方法的委托 DoWorkDelegate doWorkName=new DoWorkDelegate (DoWorkWithName); //匿名方法的委托 DoWorkDelegate doWorkNoName=dele 阅读全文
posted @ 2011-02-27 19:42 b0b0 阅读(453) 评论(2) 推荐(1)
摘要:定义允许一个对象在其状态改变时,改变它的行为。看起来对象似乎修改了它的类。解决问题State模式主要解决的是在开发中时常遇到的根据不同的状态需要进行不同的处理操作的问题。解决这种问题,最一般的方法是采用switch-case语句进 行处理的,这样会造成一个问题:分支过多,而且如果加入一个新的状态就需要对原来的代码进行编译。State模式采用了对这些不同的状态进行封装的方式处 理这类问题,当状态改变的时候进行处理然后再切换到另一种状态,也就是说把状态的切换责任交给了具体的状态类去负责.State模式与Strategy模式比较:State模式和 Strategy模式有很多相似的地方,需要说明的是两 阅读全文
posted @ 2011-02-21 16:49 b0b0 阅读(398) 评论(0) 推荐(0)
摘要:定义观察者设计模式:观察者设计模式中包含一对多的依赖关系,让多个观察者同时关注某一主题,当这个主题的某一状态发生变化,会通知所有观察着对象,使观察者能够自动更新自身。解决问题观察者设计模式主要是以一种简单易行的方法而又灵活的方式解决一对多的通知问题。角色抽象主题(abstractSubject):保存一个观察者集合,可以增加与删除观察者对象,并能通知观察者对象。具体主题(Subject):继承抽象主题,拥有具体的主题状态。通知接口(INotify):观察着实现的通知到达时统一更新自身接口。观察者(ConcreateObserver):实现通知接口的具体类。类图实现代码[代码]运行结果 阅读全文
posted @ 2011-02-21 10:56 b0b0 阅读(381) 评论(0) 推荐(1)
摘要:所有的枚举类型都是隐式继承自System.Enum类型,Enum类型是继承自System.ValueType类型唯一不为值类型的引用类型。 [代码]枚举定义:[代码]为什么System.Enum是引用类型?因为所有的枚举类都隐式继承System.Enum,所以System.Enum 是引用类型。因为值类型不能被继承。为什么在ValueType下实现一个Enum?主要是实现对枚举类型公共成员与公共方法,任何继承枚举类型都自动继承了Enum中实现的方法。Enum 类型与枚举类型的关系?枚举类型是值类型,分配在线程的对战上,自动继承System.Enum类型,但是本身不能被继承;Enum类型是引用类 阅读全文
posted @ 2011-02-20 22:44 b0b0 阅读(487) 评论(0) 推荐(1)
摘要:适配器设计模式是把一个类的接口转化成客户端期望的接口,从而使原本接口不匹配的两个类能一起工作。实际中这种场景很容易碰到,比如A类型手机充电器需要10V电压充电,B类型手机需要15V电压充电。A类型手机的充电器价格非常昂贵,而B类型的充电器价格低廉。市场就有可能出现把B型充电器转换成A型手机匹配的适配器。适配器设计模式有两种:类适配器:使用继承实现接口转换。实例适配器:使用组合实现接口转换。类适配器类图:类适配器设计的角色:源:被适配的类。目标:客户期望的接口.由于适配器需要继承源。所以目标必须是接口。适配器:把源接口转换成目标接口。适配器需要继承源。代码:using System;using 阅读全文
posted @ 2011-02-10 16:56 b0b0 阅读(320) 评论(6) 推荐(2)
摘要:WCF 异步调用说明: WCF客户端异步调用与服务端代码没有关系,只是和客户端的代码有关系。服务端服务接口:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.ServiceModel;namespaceConsoleAsyService{///&lt;su 阅读全文
posted @ 2011-02-10 10:52 b0b0 阅读(556) 评论(0) 推荐(1)
摘要:WCF 承载服务 WinForm 承载 WCF 服务端 服务代码 服务接口: namespace WCFService { [ServiceContract] public interface IServiceWindow { [OperationContract(IsOneWay=false)] string GetCurrentTime(); } } 服务实现: using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serializa 阅读全文
posted @ 2011-02-10 10:49 b0b0 阅读(792) 评论(0) 推荐(1)