已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
介绍保证一个类仅有一个实例,并提供一个访问它的全局访问点。示例保证一个类仅有一个实例。SingletonusingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespacePattern.Singleton/*/泛型实现单例模式/需要实现单例的类publicclassSingletonwhereT:new()/*/返回类的实例/publicstaticTInstancegetreturnSingletonCreator.instance;classSingletonCreatorinternalstaticreadonlyTinstance=newT();TestusingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls; usingPattern.Singleton;publicpartialclassSingleton:System.Web.UI.PageprotectedvoidPage_Load(objectsender,EventArgse)/使用单例模式,保证一个类仅有一个实例Response.Write(Singleton.Instance.Time);Response.Write();Response.Write(Singleton.Instance.Time);Response.Write();/不用单例模式Testt=newTest();Response.Write(t.Time);Response.Write();Testt2=newTest();Response.Write(t2.Time);Response.Write();publicclassTestprivateDateTime_time;publicTest()System.Threading.Thread.Sleep(3000);_time=DateTime.Now; publicstringTimegetreturn_time.ToString();运行结果2007-2-10 22:35:112007-2-10 22:35:112007-2-10 22:35:142007-2-10 22:35:17乐在其中设计模式(C#) - 适配器模式(Adapter Pattern)介绍将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。示例有一个Message实体类,某个类对它的操作有Insert()和Get()方法。现在需要把这个类转到另一个接口,分别对应Add()和Select()方法。MessageModelusingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespacePattern.Adapter/*/Message实体类/publicclassMessageModel/*/构造函数/Message内容/Message发布时间publicMessageModel(stringmsg,DateTimept)this._message=msg;this._publishTime=pt;privatestring_message;/*/Message内容/publicstringMessagegetreturn_message;set_message=value;privateDateTime_publishTime;/*/Message发布时间/publicDateTimePublishTimegetreturn_publishTime;set_publishTime=value;SqlMessageusingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespacePattern.Adapter/*/源(Adaptee)角色/Sql方式操作Message/publicclassSqlMessage/*/获取Message/publicListGet()Listl=newList();l.Add(newMessageModel(SQL方式获取Message,DateTime.Now);returnl;/*/插入Message/Message实体对象/publicboolInsert(MessageModelmm)/代码略returntrue;IMessageusingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespacePattern.Adapter/*/目标(Target)角色/操作Message的接口/publicinterfaceIMessage/*/获取Message/ListSelect();/*/插入Message/Message实体对象/boolAdd(MessageModelmm);MessageusingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespacePattern.Adapter/*/适配器(Adapter)角色/类适配器/把源适配到这个类/publicclassMessage:SqlMessage,IMessage/*/获取Message/publicListSelect()returnbase.Get();/*/插入Message/Message实体对象/publicboolAdd(MessageModelmm)returnbase.Insert(mm);Message2usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespacePattern.Adapter/*/适配器(Adapter)角色/对象适配器/把源适配到这个类/publicclassMessage2:IMessageprivateSqlMessage_sqlMessage;/*/构造函数/publicMessage2()_sqlMessage=newSqlMessage();/*/获取Message/publicListSelect()return_sqlMessage.Get();/*/插入Message/Message实体对象/publicboolAdd(MessageModelmm)return_sqlMessage.Insert(mm);clientusingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingPattern.Adapter;publicpartialclassAdapter:System.Web.UI.PageprotectedvoidPage_Load(objectsender,EventArgse)IMessagem;m=newMessage();Response.Write(类适配器方式);Response.Write(m.Add(newMessageModel(插入,DateTime.Now);Response.Write();Response.Write(m.Select()0.Message+m.Select()0.PublishTime.ToString();Response.Write();m=newMessage2();Response.Write(对象适配器方式);Response.Write(m.Add(newMessageModel(插入,DateTime.Now);R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浅析《双城记》中的人物形象
- 物流成本控制论文摘要范文
- 七年级英语下册-Unit-3-How-do-you-get-to-school-Section-B1
- 毕业论文文献选题指南如何选择适合的研究方向
- 企业成本管理工作论文
- 2025mba论说文领导的艺术范文
- 毕业格式基本要求
- 实习周记评语怎么写(共4)
- 浅析万全“育婴四法”与优生优育
- 对策的可行性分析
- 2025初中英语词汇搭配手册
- 苏晋能源控股有限公司招聘笔试真题2024
- 2025安徽省转化医学科技有限公司社会招聘4人笔试考试参考题库附答案解析
- 高一英语语法综合复习资料包
- (新教材)2025年秋期部编人教版一年级上册语文 第3课 雪地里的小画家 课件
- 蛋糕店食品安全管理规章制度
- 养老院年度工作总结报告
- (2025年)保健食品试题(附答案)
- 医学糖尿病基本知识医学专题课件
- 重症医学科体温管理措施培训
- 骨科骨折复位技术操作规范
评论
0/150
提交评论