接昨天的思路继续浅谈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......
分享到:
相关推荐
学习Smart Ticket 2.0的源代码可以帮助你掌握这些问题的应对策略。 8. **性能优化**:考虑到移动设备的资源限制,了解如何优化代码以提高运行效率是J2ME开发中的重要一环。 通过对Smart Ticket 2.0的深度学习和...
《深入解析Smarticket源代码:探索J2ME与J2EE技术融合的奥秘》 Smarticket源代码,作为一个开放的学习资源,为开发者提供了一次深入理解J2ME和J2EE技术融合的绝佳机会。它不仅涵盖了J2ME的全貌,也涉及到了J2EE中的...
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——...
标题 "VB6与S7200-Smart源代码" 提供了我们即将探讨的核心主题:使用Visual Basic 6(VB6)与SIMATIC S7-200 SMART系列PLC进行通信的编程实例。这一主题涉及到两个主要部分:VB6编程语言和S7-200 SMART可编程控制器...
SMART(Self-Monitoring, Analysis, and Reporting Technology)是一种硬盘自我监测、分析和报告的技术,主要应用于现代...通过阅读和修改代码,你可以在实践中提升自己的编程技能,特别是在系统级编程和硬件交互方面。
RT-Thread Smart的一些技术笔记。【ART-Pi Smart】上手体验以及 vscode 插件使用。【ART-Pi Smart】使用 VS Code 开发 GUI 应用。【ART-Pi Smart】基于 FFmpeg + SDL2 实现视频播放。【ART-Pi Smart】基于 SDL2 进行...
在SmartGWT的学习和开发过程中,...在进行此类定制时,开发者应保持代码的可读性和可维护性,避免过度依赖于特定的内部实现细节。同时,及时查阅官方文档、社区资源和已有的解决方案,可以帮助开发者更高效地解决问题。
"Smart Indent——VB代码自动缩进工具"是一款专为Visual Basic (VB)开发者设计的辅助工具,旨在提升代码的可读性和维护性。在编程过程中,代码的缩进和格式化是至关重要的,它不仅使得代码看起来整洁,而且有助于...
"Smart项目代码"是一个关于软件开发的专题,主要涉及的是项目的源码内容。在这个项目中,"src"目录通常是源代码的主要存放位置,这表明我们可能会深入到编程语言的细节,例如Java、Python、C++或其他语言的源文件。...
索尼笔记本摄像驱动程序VAIO Smart Network ,使用连接在电脑上的数码摄像机、本机的内置摄影机motion eye仅限于装载机型或索尼公司生产的vaio用摄像机等拍摄静止图像及视频等的软件。有需要的就下载吧。安装说明...
Smart Indenter是一款专为VB(Visual Basic)和VBA(Visual Basic for Applications)开发者设计的代码自动缩进插件。这款插件旨在提高代码的可读性和编写效率,通过自动调整代码的缩进,使代码格式更加规范,遵循...
《VB插件Smart Indent:实现代码自动排版的源码解析》 VB(Visual Basic)作为Microsoft开发的一种编程环境,深受程序员喜爱。在编写代码的过程中,代码的排版整洁度直接影响到代码的可读性和维护性。Smart Indent...
它提供了多种标注工具,如高亮、下划线、删除线、文本框、箭头、图形等,让用户在阅读时能方便地做笔记和标记重要内容。同时,还可以插入文本、添加图片,使PDF文档更具交互性。 三、编辑功能 不同于一般的PDF阅读...
在本文中,我们将深入探讨基于FactoryIO的西门子Smart PLC源代码,这对于初学者来说是一份极其宝贵的资源。FactoryIO是一款模拟工业自动化环境的软件,它为学习和测试PLC(可编程逻辑控制器)程序提供了强大的平台。...
3. **行尾对齐**:将相同类型的语句(如赋值、声明或调用)的末尾对齐,使得代码看起来整齐有序,更容易阅读。 4. **注释对齐**:整理和对齐代码中的注释,使得注释与对应的代码行保持一致,提高代码注释的可读性。...
源代码部分揭示了每个功能块的工作原理和实现细节,对于初学者来说,阅读源代码可以帮助理解PLC编程的基本逻辑和方法,对于有经验的工程师,源代码可以作为参考,快速实现特定功能。 使用说明通常会涵盖如何导入库...
本文将详细讲解如何在Linux服务器上部署SmartChart低代码平台项目,该平台允许用户通过图形化界面快速构建应用程序,极大地提高了开发效率。我们将依据提供的文件列表进行操作,并参考给出的教程链接。 1. **环境...
Smart组件的使用极大地提高了代码的复用性和可维护性,降低了编程复杂度。 在流水线应用中,Smart组件特别有用。流水线通常涉及多个连续的工作站,每个站都有特定的任务,如物料搬运、装配、检测等。通过创建针对每...
S7-200SMART是西门子推出的一款紧凑型PLC,其运动控制功能强大,尤其适合小型自动化设备的定位任务。本文将详细介绍S7-200SMART的运动控制指令,以及常见错误分析。 1. **AXISx_CTRL**指令:此指令用于初始化运动轴...
西门子s7-200 Smart plc modbus tcp 通讯代码(Java版), 是本人亲自调通的在S7-200 Smart plc 上经过测试的。具体操作是以PLC为modbus TCP 主站,Java语言开发出从站,与PLC 主站进行连接通讯,然后调用不同的函数...