当前位置: 首页 > news >正文

企业设计网站公司哪家好商城网站建设如何交谈

企业设计网站公司哪家好,商城网站建设如何交谈,附近做网站,计算机网络技术网站开发与设计Proxy 代理模式也是属于“接口隔离”模式#xff0c;通过增加一层间接层来解决问题的模式。 文章目录 1. 动机( Motivation)2. 模式定义3. 结构( Structure )4. 代码演示Proxy 代理模式4.1 常规方法4.2 Proxy 代理模式 5. 要点总结6. 其他参考 1. 动机( Motivation) 在面向对…Proxy 代理模式也是属于“接口隔离”模式通过增加一层间接层来解决问题的模式。 文章目录 1. 动机( Motivation)2. 模式定义3. 结构( Structure )4. 代码演示Proxy 代理模式4.1 常规方法4.2 Proxy 代理模式 5. 要点总结6. 其他参考 1. 动机( Motivation) 在面向对象系统中有些对象由于某种原因 (比如对象创建的开销很大或者某些操作需要安全控制或者需要进程外的访问等)直接访问会给使用者、或者系统结构带来很多麻烦。 如何在不失去透明操作对象的同时来管理/控制这些对象特有的复杂性?增加一层间接层是软件开发中常见的解决方式。 所谓透明操作就是一致性假如本来访问这个对象的方式是new一个对象调用对象接口那我还用类似方式访问你至于背后的麻烦事都不用知道实现隔离。 2. 模式定义 为其他对象提供一种代理以控制(隔离使用接口) 对这个对象的访问。 —《设计模式》GoF 3. 结构( Structure ) 上图是《设计模式》GoF中定义的Proxy 代理模式的设计结构。结合上面的代码看图中最重要的是看其中稳定和变化部分也就是下图中红框和蓝框框选的部分。 模式的结构很简单但在实际使用过程中可能会变得非常复杂。上图中接口为Subject实际的对象为RealSubject本来进行访问时Client应该是直接声明一个Subject的接口真正实际创建的是一个RealSubject的对象但是由于某种特殊的原因这时Client就应该直接去访问ProxyProxy和RealSubject之间背后要做的事情很复杂。 4. 代码演示Proxy 代理模式 4.1 常规方法 以下是一个简单的示意性的例子按照常规的做法创建接口RealSubject作为实际对象ClientApp直接声明一个Subject的接口真正实际创建的是一个RealSubject的对象。 client.cpp //接口 class ISubject{ public:virtual void process(); };class RealSubject: public ISubject{ public:virtual void process(){//....} };class ClientApp{ISubject* subject;public://构造器ClientApp(){subjectnew RealSubject();}void DoTask(){//...subject-process();//....} };这种方式是不合适的可能是由于性能、安全控制、分布式等原因无法达到new RealSubject();此时应该怎么去做呢 4.2 Proxy 代理模式 使用Proxy 代理模式模式的做法如下 proxy.cpp class ISubject{ public:virtual void process(); };//Proxy的设计 class SubjectProxy: public ISubject{public:virtual void process(){//对RealSubject的一种间接访问//....} };class ClientApp{ISubject* subject;public:ClientApp(){subjectnew SubjectProxy();}void DoTask(){//...subject-process();//....} };proxy.cpp有时候是自己写有时候是使用工具生成的。创建接口class SubjectProxy: public ISubject,SubjectProxy实现一种对RealSubject的间接访问在class ClientApp中创建subjectnew SubjectProxy(); SubjectProxy()针对RealSubject()的代理。 Proxy 代理模式常常会设计的比较复杂但是整体的设计思想要进行理解。 5. 要点总结 “增加一层间接层”是软件系统中对许多复杂问题的一种常见解决方法。在面向对象系统中直接使用某些对象会带来很多问题作为间接层的proxy对象便是解决这一问题的常用手段。具体proxy设计模式的实现方法、实现粒度都相差很大有些可能对单个对象做细粒度的控制如copy-on-write技术有些可能对组件模块提供抽象代理层在架构层次对对象做proxy。 具体到实际中以下代码的差异度相当大总体设计思想遵循代理类(SubjectProxy)和实际类(RealSubject)的接口(ISubject)是一致的 virtual void process(){//对RealSubject的一种间接访问//....}copy-on-write技术字符串类中经常如此去做如果对象没有什么更改的话复制的话内部会生成一个指针指向原来的对象每拷贝一次都是浅拷贝这种共享在当你需要改这个对象时就是有问题的此时你就需要内部拷贝一份实现一种代理 在分布式系统中会大量使用Proxy 代理模式 Proxy并不一定要求保持接口完整的一致性只要能够实现间接控制有时候损及一些透明性是可以接受的。 代理的核心思想是增加一个中间层实现不为外界所知的功能 6. 其他参考 C设计模式——代理模式
http://www.hkea.cn/news/14288139/

相关文章:

  • 手机代码网站有哪些问题吗免费域名注册 国外
  • 机械设备东莞网站建设2免费做网站
  • 天津网站建设方案书中国林业工程建设网站
  • 无锡网站推广无锡做网站网站开发付款
  • thinkphp 显示第三方网站图片做网站算法
  • 建设黑彩网站外贸专业网站制作
  • 网站建设不完整什么意思学生网站作品
  • 网站源码带数据网页设计师的能力
  • 百度推广登录账号首页移动网站 做优化
  • 免费网站建设朋友交流帮小公司代账一个月费用
  • 网站被flashfxp 上传网站
  • 仙桃网站制作州国wordpress同步微博内容
  • 网站做多久能盈利加强网站人才建设
  • 青岛网站推广怎么选wordpress api post
  • 好看开源企业网站模板吉安哪里做网站
  • 搭建企业网站的步骤在百度上怎么搜到自己的网站
  • 安论坛网站建设郑州app制作
  • 网站团队人数网站开发一个页面多少钱
  • 网站站外推广方式有哪些怎么免费制作一个网站
  • 网站图片优化器网站代码 公告栏 php
  • 手机端网站开发企业电子商务网站有哪些
  • 怎么建公司网站教程郑州自助建站模板
  • 网站备案变更主体电话游戏网站 模板
  • 上传了网站标志 功能链接用记事本制作html网页
  • 南宁建设网站上海市网站seo
  • 聊城制作手机网站ui培训班出来能找到工作吗
  • 商业源码网seo网站优化网站编辑招聘
  • 个人网站域名选择网站怎么做才
  • 网站建设电脑配置万网账户
  • 雄安优秀网站建设电话网站后台从哪里进去