X-gen设计模式综合实战4-生成代理模块

1.详细功能

生成代理是一个介于生成调度和真正generate实现之间额外的附加层,目的是能够根据需要切换不同的实现,比如生成调度根据配置,需要通过远程来生成,那么就需要远程代理,远程访问的方式可能是rmi或webservice。
默认提供的是本地实现的方式。

2.功能边界

生成代理模块不关心谁要求真正执行,也不关心究竟谁来真正执行,它只是根据配置和客户端的选择,来代理找到具体执行功能的对象,并启动具体执行generate功能的对象。

3.对外接口

事实上,代理模块对外是没有自己的接口的,它实现的是被代理的对象的接口,也就是生成调用的接口。

4.内部实现

4.1 代理模式

4.1.1 面临的问题

由于要在分发调度模块和具体生成模块之间引入一个间接性,以备在需要的时候,可以让相同的分发调度模块调用不同的具体生成模块,而且要考虑到可能需要访问远程的功能。

简单点说,就是需要一种访问代理,该如何实现呢?

4.1.2 用代理模式来解决

为其它对象提供一种代理以控制对这个对象的访问。


4.1.3 此时生成代理模块的结构示意如图

参考

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 成熟,很老气的一个词,每个人似乎都喜欢被人评价为成熟,即使只是一个5岁的小男孩。我一直对这个词没太大的想法,主要是...
    litCabbage阅读 318评论 0赞 0
  • 喜欢纸与笔 / 喜欢诗和酒 喜欢山与穹 / 喜欢舞台喜欢俗世一生喜欢不自知的沉醉 / 理智的浪漫 以及 / 克制的...
    棠兮阅读 217评论 0赞 0
  • 前一天在网上预约了市立医院下午的第一个专家号,没成想去医院机器上打印挂号单时,竟然只打出患者留存的一联,医院记账的...
    九廿三阅读 279评论 0赞 2
  • 岁月沉浮时光流逝当我们的理想还没变成现实已过匆匆那年!好多计划还没实现已变成往日回忆,我们需要现在立即改变,去挖掘...
    虹峤loveing阅读 267评论 0赞 0

友情链接更多精彩内容