接昨天的思路继续浅谈RMSCacheHandler的使用,RemoteModelProxy、RemoteModelRequestHandle和RemoteModel之间应用了代理模式。其中RemoteModelProxy充当了代理主题角色,RemoteModel是抽象主题角色,而RemoteModelRequestHandle是真实主题角色。
- 代理模式(Proxy),给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。(参见RemoteModelProxy、RemoteModelRequestHandle和RemoteModel之间关系及UML图)。
在RemoteModelProxy中也就保存了一个对RemoteModelRequestHandle的引用,如下
java 代码
- private RemoteModelRequestHandler requestHandlerChain;
- private Preferences preferences = null;
- private Hashtable movies = new Hashtable();
-
- public RemoteModelProxy(String serviceURL) throws ApplicationException {
- requestHandlerChain =
- new RMSCacheHandler(new HTTPCommunicationHandler(null,
- serviceURL));
-
- return;
- }
现在小节一下RemoteModelProxy的作用,它是一个代理主题角色,是它控制了RMSCacheHandler以及
HTTPCommunicationHandler。
看看RMSCacheHandler的constructor
java 代码
-
-
-
-
-
- public RMSCacheHandler(RemoteModelRequestHandler nextHandler)
- throws ApplicationException {
- super(nextHandler);
-
- rmsAdapter = new RMSAdapter();
-
- return;
- }
在RemoteModelProxy中有责任链模式典型的应用
java 代码
- requestHandlerChain =
- new RMSCacheHandler(new HTTPCommunicationHandler(null,
- serviceURL));
可以看到,RemoteModelProxy创建了两个处理者对象,并指定
RMSCacheHandler的下家是HTTPCommunicationHandler,而HTTPCommunicationHandler没有下家,真正起作用处理的是HTTPCommunicationHandler对象。
小节:
在这个看似简单的应用中运用了这么多的设计模式,不知道是sun的blueprint这么要求的还是普遍存在这样的设计?
不知道这样的学习方法是否正确,欢迎大家批判:)
to be continued......
分享到:
相关推荐
smartticket是一个很好的学习材料哦,几乎揽括了j2me所有知识点,还有j2ee的servlet,EJB等技术,其中还很多设计技巧,设计模式.
S7-200 Smart入门笔记1-8 程序合集 S7-200 Smart入门笔记1——流水灯 按钮 S7-200 Smart入门笔记1——流水灯 定时器 S7-200 Smart入门笔记2——读时钟 S7-200 Smart入门笔记3——呼吸灯 S7-200 Smart入门笔记4——...
学习J2me的最好资料,类似于J2EE上的jpetshop
RT-Thread Smart的一些技术笔记。【ART-Pi Smart】上手体验以及 vscode 插件使用。【ART-Pi Smart】使用 VS Code 开发 GUI 应用。【ART-Pi Smart】基于 FFmpeg + SDL2 实现视频播放。【ART-Pi Smart】基于 SDL2 进行...
VB6与S7200-Smart的可编程控制器通讯的DLL和源代码.用之于学习smart通讯
smart项目代码,源码
从研发经验总结的smartGwt的开发与实现
不需要下载DDK,直接可以编译的代码,可以获取SMART信息。
S7-200SMART 的运动控制(二)指令详细介绍+常见错误分析(图文)
FactoryIO案例西门子Smart PLC源代码 智能仓库控制 仓库上下料控制 两段流水线控制 升降机操作程序 初学PLC宝贵资料
VB_VBA代码自动缩进插件-Smart Indenter 亲测可用。
Linux服务器部署SmartChart低代码平台教程: https://blog.csdn.net/m0_51197424/article/details/123900956
把压缩包里的文件全部安装,重启VB,在代码框里点右键然后点Smart Indent——>Indent Project。
S7-200SMART自定义标准库程序文件(含源代码+使用说明)
西门子s7-200 Smart plc modbus tcp 通讯代码(Java版), 是本人亲自调通的在S7-200 Smart plc 上经过测试的。具体操作是以PLC为modbus TCP 主站,Java语言开发出从站,与PLC 主站进行连接通讯,然后调用不同的函数...
基于stm32f1的二氧化碳浓度测量代码(HAL库) 只需要单片机和二氧化碳传感器还有串口通信助手(电脑软件)正确连接就可以使用 二氧化碳传感器链接http://www.jxiotcity.com/zdcs/zdcs278.html 使用代码可以参考本人...
Smart PDF阅读器
关于ABB工业机器离线编程工具:RobotStuio智能组件的介绍,结合流水线实现,方便大家理解。