[23种设计模式汇总]结构型模式_代理模式

[23种设计模式汇总]结构型模式_代理模式

ID:47864242

大小:72.50 KB

页数:4页

时间:2019-07-30

[23种设计模式汇总]结构型模式_代理模式_第1页
[23种设计模式汇总]结构型模式_代理模式_第2页
[23种设计模式汇总]结构型模式_代理模式_第3页
[23种设计模式汇总]结构型模式_代理模式_第4页
资源描述:

《[23种设计模式汇总]结构型模式_代理模式》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、代理模式(Proxy)文章场景取自日常工作中,先大概描述一下,小公司一般工作流程是,需求方需要改什么需求,增加什么功能,直接找到程序员进行更改用代码表示这种场景就是classdemand//需求方{//传统方式,需求方直接找程序员改功能codercode;publicdemand(codercode){this.code=code;}publicvoidGetCount(){code.GetCount();}publicvoidGetDataInterface(){code.GetDataInterface();}}classcoder//程序员{publicstringName{ge

2、t;set;}publicvoidGetCount(){Console.WriteLine("帮忙统计一个数据的数量");}publicvoidGetDataInterface(){Console.WriteLine("帮忙提供一个数据接口");}}classClient{//直接调用codercode=newcoder();demandd=newdemand(code);d.GetCount();d.GetDataInterface();}如果我们的程序员不想需求方找到我们,经常打断我们的思路,那就可以考虑用代理模式了,在需求方和程序员之间设置产品,需求方找产品产品找程序员,然后程序

3、员修改或增加需求功能先上图:需求方先找产品,产品找程序员,产品就相当于代理的角色了大公司或者说公司有比较规范流程的公司一般都是采用代理模式完成项目的publicabstractclassAbstactcoder{publicabstractvoidGetCount();publicabstractvoidGetDataInterface();}classCoderA:Abstactcoder{publicoverridevoidGetCount(){Console.WriteLine("代理方式取得数量");}publicoverridevoidGetDataInterface(){C

4、onsole.WriteLine("代理方式取得数据接口");}}classProxy:Abstactcoder{/*需求方不能直接找程序员或者UI,如果想找,人家也不理你,必须走产品部门,Proxy在这里的作用就相当于产品部门,*需求方想改什么东东,必须先找产品部门,产品部门沟通好以后,再找程序员进行具体的工作*这样避免了需求方直接找到程序员,程序员的工作需要集中精力,思路不能被打断,打断思路需要重启思路,这很糟糕,所以我们需要代理(产品部门)*/privateAbstactcoderabstactcoder;publicProxy(){abstactcoder=newCoderA(

5、);}publicoverridevoidGetCount(){abstactcoder.GetCount();}publicoverridevoidGetDataInterface(){abstactcoder.GetDataInterface();}}classClient{//代理方式调用程序员Proxyproxya=newProxy();proxya.GetCount();proxya.GetDataInterface();Console.Read();}代理模式应用场景:1.安全代理,在代理类里面加一些权限的判断和控制2.远程代理,.net引用webservice,会生成一些

6、代理文件3.虚拟代理,提供一个占位符,但是没有直接显示图片,qq图片采用最后总结一下,代理模式就是找一个人干活,但是并不直接找干活的人,找一个中间人,找干活的人并不关心中间人(代理)去怎么做,只是关心最后活干完就行了!中间人负责接活,但是并不完成具体的工作任务,他会把找他干活人的任务分配给其他人去完成!这样看来,代理是个美差,代理自己什么都没干!

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。