前两篇主要描述了我学习smart ticket的Model部分的过程,总体感受是,使用了很多的设计模式(Facade,Adapter,Proxy,职责链)。在我自己的代码中,一般没有考虑过这么多模式的使用。
我记得在一篇帖子中,robbin曾将设计模式和围棋的定式做了比较,我虽然不懂得“定式”,原来也翻看过《建筑的永恒之道》这本书,我想,设计模式也就是经过软件开发者长期摸索而推出的解决普遍问题的通用方式吧。
就拿建筑来说,我生活的13朝古都西安城就有很多古代建筑,比较著名的唐朝建筑--大雁塔,明朝建筑--钟楼,明代城墙等等,只要留心就会发现,每个朝代的建筑物其实都有自己的“个性”,例如唐代建筑的屋檐和檐顶的勾角就很有特色,所有唐代的建筑仿佛都在遵循一样的风格;这就好比软件上的设计模式,如果大家遵循一种设计上比较成熟的方式,就能够满足易于扩展、拥抱变化等好处。
总之,别人好的设计经验,是需要我不断去学习的。
在smart ticket中,View和Controller的设计还是必要容易理解的。
UIController类充当了一个大大的控制器。说它是大大的,是因为所有和View控制相关的功能都在这一个类中完成。(随后我应该分析一个有多个Controller的程序)
View是由
java 代码
- private Alert alert;
- private MainMenuUI mainMenuUI;
- private MySettingsUI mySettingsUI;
- private ManageTheaterSchedulesUI manageTheaterSchedulesUI;
- private DefaultsUI defaultsUI;
- private AccountSetupUI accountSetupUI;
- private ChooseMovieUI chooseMovieUI;
- private SeatingPlanUI seatingPlanUI;
- private SignOnUI signOnUI;
- private PurchaseTicketsUI purchaseTicketsUI;
- private ConfirmTicketUI confirmTicketUI;
- private PurchaseCompleteUI purchaseCompleteUI;
- private AccountInfoUI accountInfoUI;
- private ChangePasswordUI changePasswordUI;
- private BillingInfoUI billingInfoUI;
- private ProgressObserverUI progressObserverUI;
- private RateMyMoviesUI rateMyMoviesUI;
- private SyncMovieRatingsUI syncMovieRatingsUI;
所组成的。其中每一个View的设计都比较简单。
Ok,现在从头走一编
- 先启动SmartTicketMIDlet,SmartTicketMIDlet启动model和初始化controller;
- 在初始化UIController的过程中(init方法),View一一被实例化,并且根据accountInfo的情况分别进入AccountSetupUI或者MainMenuUI;
现在,整个系统的架构渐渐清晰,如下所示:
- 大小: 56.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自定义标准库程序文件(含源代码+使用说明)
西门子s7-200 Smart plc modbus tcp 通讯代码(Java版), 是本人亲自调通的在S7-200 Smart plc 上经过测试的。具体操作是以PLC为modbus TCP 主站,Java语言开发出从站,与PLC 主站进行连接通讯,然后调用不同的函数...
Smart PDF阅读器
关于ABB工业机器离线编程工具:RobotStuio智能组件的介绍,结合流水线实现,方便大家理解。
话说是非得一定要写描述吗?一个VB的AddIn插件,实现代码自动排版。
smart-scheduler-android Overview A utility library for Android to schedule one-time or periodic jobs while your app is running. Currently, Android OS supports 3 types of scheduling APIs: Handler, ...
S7-200SMART 的运动控制(三)SINAMICS控制库+参数库的使用方法(图文)