SmartTicket是sun的一个blueprint项目,我想通过学习它的设计,来提高自己的设计、编码水平。欢迎大家一起学习、或者提供好的建议:)
下图是它的UML设计,可以看到,设计是遵循MVC设计模式;毫无疑问,UIController类是一个控制器(Controller),ModelFacade充当的是模型(Model),它使用了Facade(门面)模式。
- 关于门面模式,门面模式要求一个子系统的外部与其内部的通信必须通过一个统一的门面(Facade)对象进行;使用时机,为复杂的系统提供一个简单的接口、子系统的独立性、层次化结构。
ModelFacade充当了与RemoteModelProxy、SynchronizationAgent、LocalModel打交道的门面(Facade),所以它保存着对其他三个对象的引用。
那么RemoteModelProxy、SynchronizationAgent、LocalModel这三者又分别代表什么呢?
很奇怪,sun的代码没有注释,也没有java doc
首先来看LocalModel
它保存着对RMSAdapter、Preferences、ProgressObserver的引用,看起来,它负责对手机RMS数据的管理,所以处于Model;
其中RMSAdapter采用了适配器(Adapter)模式。
- 关于适配器模式,是把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。Adapter其实是中文变压器的意思。
所以,RMSAdapter就充当了一种适配器,提供了多种方法来操作RMS数据。
RMSCacheHandler中存在一个对于RMSAdapter的引用, 再看看RMSCacheHandler是做什么的?
从名字上看,是控制RMS缓存的,凡是涉及到操作RMS,都用到了适配器模式RMSAdapter。
从UML上来看,RMSCacheHandler其实是和RemoteModelProxy相关的,RemoteModelProxy中有一个对抽象类RemoteModelRequestHandle的引用,而RMSCacheHandler继承自RemoteModelRequestHandle。
- 大小: 69.7 KB
分享到:
相关推荐
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信息。
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自定义标准库程序文件(含源代码+使用说明)
一个基于C#实现的用于Smart Phones/PocketPCs/PDAs签名控件代码。
西门子s7-200 Smart plc modbus tcp 通讯代码(Java版), 是本人亲自调通的在S7-200 Smart plc 上经过测试的。具体操作是以PLC为modbus TCP 主站,Java语言开发出从站,与PLC 主站进行连接通讯,然后调用不同的函数...
Smart PDF阅读器
话说是非得一定要写描述吗?一个VB的AddIn插件,实现代码自动排版。
关于ABB工业机器离线编程工具:RobotStuio智能组件的介绍,结合流水线实现,方便大家理解。
"西门子S7-200-SMART之Modbus-RTU-通信常见问题及错误代码含义" Modbus RTU 通信是一种常见的工业通信协议,西门子S7-200-SMART PLC也是支持Modbus RTU通信的。在实际应用中,我们经常遇到一些常见的问题和错误...