贡献式编程(三)
来源:互联网 发布:交通事故原因数据统计 编辑:程序博客网 时间:2024/05/16 06:04
定义过贡献单元后,开始更改架构来支撑每一个贡献的可能性了。
支持贡献的技术变更
由于第一版和第二版是不支持贡献的,我们需要定义贡献的目的地:订单系统。先把[订单系统]抽出来。Amazon 和 eBay 分别是两个不同的贡献。
在没有 Amazon 和 eBay 这两个贡献之前,订单系统就应该存在,而且应该是可以“正常”运行的(正常的意思是没有报错,只是没有下载订单数据)。
第二版(第二稿)
- 一个OrderSystem系统
- 定义了一个接口: IOrderDownloader
- 定义了一个定时调道器
- 负责主界面的控制
- 两个贡献单元:
- Amazon.jar : AmazonOrderDownloader 实现了 IOrderDownloader
- eBay.jar : EBayOrderDownloader 实现了 IOrderDownloader
当OrderSystem启动的时候,简单的可以用Java SPI负责加载所有IOrderDownloader的实现类,注册到系统的定时调道器。
以后如果再有其他平台的订单需要下载(如速卖通),简单的可以同样地实现一个 Aliexpress.jar ,搞定!
进一步需求
用户真的开始投诉了:我们还没有解决界面上根据不同的订单数据,显示不同的UI、字段等。
这个需求开始需要分析数据结构,我们需要定义:
- 跨平台的通用的字段:如订单日期,SKU,数量等等
- 平台特有的字段
定义了两种数据,IOrderDownloader 都需要更改,分开处理不同的数据。这个修改比较简单。
界面上,订单明细的UI,同样定义两个区域,一个区域显示通用字段,另外一个区域显示平台特有字段。而这个平台特有区域就是可以扩展的地方了。
0 0
- 贡献式编程(三)
- 贡献式编程(一)
- 贡献式编程(二)
- 贡献式编程(四)
- 贡献式编程(总结)
- 贡献 高效的MIDlet 编程
- JavaScript函数式编程(三)
- (三)python函数式编程
- 函数式编程(三)
- 在改善编程语言方面Google都有哪些贡献?
- 编程修养(三)
- 编程修养(三)
- 编程修养(三)
- 编程修养(三)
- shell编程(三)
- winsock编程(三)
- 编程修养(三)
- 编程修养(三)
- 浅谈硬盘引导记录
- 【Java】<一> 语言环境
- Cocos Studio 子节点锚点偏移问题解决
- 嵌入式 Android中JNI技术入门详解
- TCP三次握手及四次挥手详细图解
- 贡献式编程(三)
- 分布式文件系统测试方法与测试工具
- 对于50%的人来说,在朝九晚五的工作时间里从事开源
- Ajax在请求和响应中使用 XML
- 【POJ】2253 Frogger 二分+bfs
- 异常处理系列: WARNING: Data partition already in use. Changes will not persist!
- 移动端web轮播图
- UVA - 11210 Chinese Mahjong(回溯)
- hdu 4064 Carcassonne(DP-插头DP)