[23种设计模式汇总]结构型模式_代理模式.doc_第1页
[23种设计模式汇总]结构型模式_代理模式.doc_第2页
[23种设计模式汇总]结构型模式_代理模式.doc_第3页
[23种设计模式汇总]结构型模式_代理模式.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

代理模式(Proxy)文章场景取自日常工作中,先大概描述一下,小公司一般工作流程是,需求方需要改什么需求,增加什么功能,直接找到程序员进行更改用代码表示这种场景就是class demand /需求方/传统方式,需求方直接找程序员改功能coder code;public demand(coder code)this.code = code;public void GetCount()code.GetCount();public void GetDataInterface()code.GetDataInterface();class coder/程序员public string Name get; set; public void GetCount()Console.WriteLine(帮忙统计一个数据的数量); public void GetDataInterface()Console.WriteLine(帮忙提供一个数据接口);class Client/直接调用coder code= new coder ();demand d = new demand(code);d.GetCount();d.GetDataInterface();如果我们的程序员不想需求方找到我们,经常打断我们的思路,那就可以考虑用代理模式了,在需求方和程序员之间设置产品,需求方找产品产品找程序员,然后程序员修改或增加需求功能先上图:需求方先找产品,产品找程序员,产品就相当于代理的角色了大公司或者说公司有比较规范流程的公司一般都是采用代理模式完成项目的public abstract class Abstactcoderpublic abstract void GetCount();public abstract void GetDataInterface();class CoderA : Abstactcoderpublic override void GetCount()Console.WriteLine(代理方式取得数量);public override void GetDataInterface()Console.WriteLine(代理方式取得数据接口);class Proxy : Abstactcoder/*需求方不能直接找程序员或者UI,如果想找,人家也不理你,必须走产品部门,Proxy在这里的作用就相当于产品部门,*需求方想改什么东东,必须先找产品部门,产品部门沟通好以后,再找程序员进行具体的工作*这样避免了需求方直接找到程序员,程序员的工作需要集中精力,思路不能被打断,打断思路需要重启思路,这很糟糕,所以我们需要代理(产品部门)*/private Abstactcoder abstactcoder;public Proxy()abstactcoder = new CoderA();public override void GetCount()abstactcoder.GetCount();public override void GetDataInterface()abstactcoder.GetDataInterface();class Client/代理方式调用程序员Proxy proxya = new Proxy();proxya.GetCount();proxya.GetDataInterface();Console.Read();代理模式应用场景:1.安全代理,在代理类里面加一些权限的判断和控制2.远程代理,.net引用webservice,会生成一些代理文件3.虚拟代理,提供一个占位符,但是没有直接显示图片,qq图片采用最后总结一下,代理模式就是找一个人干活,但是并不直接找干活的人,找一个中间人,找干活的人并不关心中间人(代理)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论