铁路零散快运 APP架构的探讨

2015-04-25 07:33郑庆华史元超李文宝
铁道货运 2015年10期
关键词:零散快运开发人员

郑庆华,史元超,李文宝

(1.哈尔滨铁路局 信息技术所,黑龙江 哈尔滨 150006;2.中国铁路总公司 营运部,北京 100844;3.中国铁路信息技术中心 信息工程部,北京 100038)

铁路零散快运 APP架构的探讨

郑庆华1,史元超2,李文宝3

(1.哈尔滨铁路局 信息技术所,黑龙江 哈尔滨 150006;2.中国铁路总公司 营运部,北京 100844;3.中国铁路信息技术中心 信息工程部,北京 100038)

随着智能终端快速发展并被广泛应用,APP技术应用和推广在铁路现代物流业务发展中突显优势地位。在阐述铁路零散货物快运业务流程的基础上,分析MVC模式、MVP模式、MVVM模式3类主要架构模式的特征。根据铁路零散货物快运平台总体要求,从信息架构的概念和构建、任务分析及使用方法、APP架构模式选择等方面设计铁路零散快运APP架构,阐明铁路零散快运APP采用MVP架构的优势。

铁路物流;零散货物快运;架构;APP;MVP

我国铁路货运物流行业市场前景广阔,但信息化水平相对滞后。目前,随着手机等智能移动设备应用的大众化,移动互联网不断冲击着人们的传统观念,货运物流行业也不例外。21 世纪是互联网经济时代,是信息快速传播、第一时间分享与知晓信息的时代,智能手机的普及使手机客户端的应用和开发越来越广泛。国家高度重视互联网应用和推广,国务院于 2015 年 7 月颁发了《“互联网+”行动的指导意见》[1];随后商务部颁发了《“互联网+流通”行动计划》,明确提出加快产品流通过程中互联网设施设备建设[2]。APP 技术主要实现手机连接到互联网业务的应用程序服务,随着技术发展和广泛应用,其在铁路货运的应用逐步受到重视。开发铁路零散快运APP,可以让货主了解第一时间的资讯及享受方便快捷的服务[3]。铁路零散快运 APP 的诞生是顺应信息时代潮流、满足移动互联网需求的产物,也是国家“互联网+”战略的应用。通过 APP 技术可以实现铁路零散货物的快捷运输,为客户提供便捷、准时、高效的物流服务。

1 铁路零散快运APP架构分析

1.1 铁路零散快运业务流程分析

铁路零散快运 APP 可以帮助企业和货主简化操作程序、节省人力物力、降低成本,提升铁路服务质量。铁路零散货物快运业务流程如图 1 所示 。

1.2 APP 架构

软件架构的作用是全面考虑产品从需求到设计的每个细节,使设计的项目效率高、开发容易、维护方便、升级简单。衡量 APP 架构的重要标准是考虑APP 适用于团队及业务规模、产品/商业发展方向。如果团队规模扩大,而扩展性不足、维护性崩坏、性能受到影响,就必须对 APP 进行重构。因此,应充分分析 APP 架构模式的主要特征,对 APP 架构进行设计。APP 架构模式主要有以下 3 类。

1.2.1 MVC模式

MVC 是目前主流的系统设计模式之一,将模型 (Model) 与视图 (View) 和控制器 (Controller) 三者分离,分别设计使系统具有低耦合、高内聚特性,便于程序的设计和后期升级、维护。MVC 设计将 3 种不同层次的系统设计人员结合到一起,分析师设计系统模型、设计师设计系统控制流程、界面设计师负责设计系统人机交互界面。作为一种软件设计典范,MVC 将业务逻辑、数据与界面设计分离,业务逻辑集中到一个部件,在后续完善、改进个性化设计界面和人机交互控制时,不再需要重新修改业务逻辑部分。MVC 被广泛应用于映射输入、处理、输出功能在一个逻辑的图形化用户界面的结构中,MVC 模式各部分关系和功能如图 2 所示。

图 2 MVC 模式各部分的关系和功能

1.2.2 MVP模式

MVP (Model View Presenter)[4]模式由 MVC 模式演变而来,MVP 模式将 MVC 模式中的 Controller 修改为 Presenter,同时改变了通信方向。通常的 MVP模式中,View 一般由表示器进行创建,用户界面(UI)接收使用者的命令,不对使用者输入作逻辑处理,而是将使用者录入的信息发送给表示器。一般 1 个 View对照 1 个表示器,表示器含盖了绝大多数的处理逻辑,用来解析 View,与模型结合以获取或变更数据等。

挤压法是一种新兴的微胶囊技术,相对其他微胶囊制作方法有自身优势,它是在低温下加工生产微胶囊的技术,表面孔面积较小,能防止精油挥发和氧气进入; 表面油量少,货架寿命长; 操作温度低,对风味物质损害小。因此有必要在挤压法制备精油微胶囊工艺方面进行深入研究。

MVP 模式和 MVC 模式的基本思想是,Controller/Presenter 的工作是处理逻辑,Model 供给业务信息,View 用来面向客户。在 MVP 模式中View 与 Model 间进行的通信是由 Presenter 完成的,并不与 Model 直接交流,全部逻辑处理过程都是由Presenter 独自完成。而在 MVC 模式中,数据的取得不依靠 Controller,而是从 Model 获取 View 所需信息。MVC 模式可以同时有多个 View 将同一个 Model的数据以不同的形式显示出来,因而在 MVC 模式中,Model 不依赖于 View,但 View 依赖于 Model 。因为 View 与 Model 存在业务逻辑,如果更改 View 则必须更改 Model 的一些代码,使这些代码无法重用。MVP 模式的改善在于 View 与 Model 的完全隔离。

1.2.3 MVVM 模式

MVVM (Model View View Model) 模式是结合MVP 和 WPF (Windows Presentation Foundation) 之后产生的更具优势和扩展性的框架[5],它将 MVP 和WPF 的自定义数据结构、自定义命令绑定等独特技术融合,更好地满足客户多变的需求。MVVM 模式主要目的是分离 View 和 Model,同时具有低耦合、可重用性、独立开发、可测试优点。

1.2.4 模式比较

MVP 模式和 MVC 模式的关系不是相互独立而是相互依存、相互借鉴,是 MVP 模式的展示层与Presenter 层的关系,即编写界面的开发人员在展示层留下部分逻辑代码,用来将展示层与 Presenter 相关联。View 在 MVVM 模式中完全释放,使用通用的标记工具 XAML 使 View Model 的自定义数据和命令分别与 View 关联。通过 MVVM 模式构建的架构,应用开发人员能够更容易地绘制应用程序。构建过程中应注意 MVVM 的语言限制在 WPF 和 Silverlight。MVC 模式、MVP 模式、MVVM 模式如图 3 所示。

2 铁路零散货物快运 APP 架构的设计

图 3 MVC 模式、MVP 模式、MVVM 模式

铁路零散货物快运平台的总体要求:以客户需求为导向,以标准化、信息化为支撑,以完善作业条件、规范组织管理、健全配套机制为重点,以调结构、提质量、增运量为目标,发挥铁路长距离、覆盖广的优势,为客户提供便捷、准时、高效的一体化物流服务,融入客户产业链、供应链、物流链,实现货运作业快捷和客户受理便捷。面向不同使用人群,铁路零散货物快运 APP 针对不同人群设置不同功能模块,开发站内货运员手持机应用、列车长手持机应用、接取送达人员手持机应用及 95306 客户手持机移动应用。目前 APP 应用主要分为 2 大类别:浏览类、操作型应用。浏览类应用模型的构建通过核心展示层架构的方法从内容浏览、信息展示入手,对所要展示的内容、信息进行分类整合;操作型应用通过业务分析法,将业务由上到下逐级分析成使用者能够通过操作处理业务的功能模块。

2.1 信息架构

信息架构是一种对信息整合分类的方法[6],使各种信息有序、高效地展示在任何用户可能用到的地方。铁路零散货物快运数据是海量数据,对其数据信息进行架构需要有基于 DBA (Database Administrator,数据库管理员) 能力的专业数据分析师从多角度、多层面进行分析整理。但是,现实的手机应用设计中,数据信息简单,对于这类信息有 3 种分析方法:信息结构、逻辑树结构、卡片分类方法。

(2)逻辑树结构是依照人们从古至今生活经验中慢慢被认可的逻辑结构,将信息按照树状逻辑由大到小、由总到分等情况进行排布。

(3)卡片分类是人们对很多目前还呈现出动态变化的信息,按照统计分类的方法进行归纳总结。

经分析,铁路零散货物快运的业务特点适合于卡片分类。

2.2 任务分析及使用方法

任务分析是指开发人员对某一特定需求下的目标进行深入了解的过程,过程中开发人员将通过各种方式方法进行分析整合或信息处理,通过了解用户的需求,用户会根据自己的经验或实际需要、看到和听到的类似业务,确定自己要实现的目标;开发人员应根据用户目录逐级分析需求,再分解为若干功能模块,功能模块由多个子功能组成,每个子功能再分为若干操作。铁路零散货物快运 APP 的任务分析,要求开发人员了解和掌握需要达到的目标、实现的功能、处理的信息,以及信息传递的方向和状态,APP 在整个应用架构中应满足铁路零散货物快运用户最迫切的需求和目标,使开发人员可以估算开发周期、制订开发计划,并且详细设计的开发单元。

2.3 APP 架构模式选择

MVP 是比较流行的基础架构模式,是铁路零散货物快运 APP 理想的架构模式选择。在 MVP 模式中,View 与 Model 并不直接交互,MVP 的 Presenter是框架的控制者,承担了大量的逻辑操作。MVP 的变种有很多,其中使用最广泛的是 Passive View 模式,即被动 View。在这种模式下,整个框架内部模块之间的逻辑操作均由 Presenter 控制,View 仅仅是整个操作的汇报者和结果接收者,Model 根据 Presenter 的单向调用返回数据,View 与 Model 的耦合性更低,降低了 Presenter 对 View 的依赖,实现了关注点分离的初衷,方便开发人员的编码和测试工作。MVP 的使用大大提高系统的模块化、服务化趋势,使系统的构建更简洁,开发人员能够更灵活地进行编码及业务逻辑的可重用性。

具体到 Android APP 中,一般将 APP 根据程序的结构进行纵向划分,对应 MVP 分别为模型层,UI层和逻辑层。UI 层一般包括 Activity,Fragment,Adapter 等直接与 UI 相关的类,UI 层的 Activity 在启动后实例化相应的 Presenter,App 的控制权后移,由 UI 转移到 Presenter,两者之间的通信通过BroadCast,Handler 或接口完成,只传递事件和结果。例如,UI 层通知逻辑层用户点击了一个 Button,逻辑层决定应用什么行为进行响应,该找哪个模型去完成,最后逻辑层将完成的结果更新至UI 层。

模型层 (Model) 中的整体代码量是最大的,一般由大量的 Package 组成,针对这部分需要在程序设计中做好模块的划分,进行接口隔离,在内部进行分层。

强化 Presenter 的作用,将所有逻辑操作都放在Presenter 内也容易造成 Presenter 内的代码量过大,因而应在 UI 层与 Presenter 之间设置中介者 Mediator,将如数据校验、组装在内的轻量级逻辑操作放在Mediator中;在 Presenter 与 Model 间使用代理Proxy。通过上述处理,分担部分 Presenter 的逻辑操作,但整体框架还由 Presenter 控制,Mediator 和Proxy 不是必需的,只在 Presenter 负担过大时用。铁路零散货物快运 APP 架构如图 4 所示。

在 MVP 中,Model 和 View 被 Presenter 隔离,Presenter 为业务逻辑处理中心,不直接关联相应的View,而是通过接口注册的后接口对 View 进行交互处理,既达到了 Model 与 View 的分离,也使 View 具有充分的可复用性。为了方便开发人员模拟开发过程中的业务或操作,开发单独的 View 或对 Presenter 进行变更,而不影响 Presenter。

铁路零散货物快运 APP 采用 MVP 架构的优势在于: 用户界面与业务逻辑充分分离,架构更灵活、编码更简单更单一;视图和业务逻辑的复用可以无缝替换;通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦合;程序在开发的过程中,开发人员只需要专注于一点,提高程序开发的效率,并且更容易进行后续的测试及定位。

图 4 铁路零散货物快运 APP 架构

3 结束语

移动应用架构选择必须充分认识软件适用人群的特性、业务需求的特点,灵活地选择产品架构,才能更好地平衡软件整体、更好推广使用。2015 年 6 月铁路零散货物快运 APP 平台投产以来,应用于货运员、列车长、司机配送员等岗位,已经在铁路物流服务中发挥了积极作用,是铁路物流服务从“站到站”运输向“门到门”物流配送转变的信息化工具,是精细化管理运输组织作业的手段。铁路从运输企业向现代化物流企业转型面临挑战,零散货物快运业务只是铁路众多运输业务中的一种,还有整车、零担、集装箱、批量零散等更加复杂的业务,铁路零散货物快运 APP 为铁路信息化升级改造提供了条件。

[1]中华人民共和国国务院.国务院关于积极推进“互联网+”行动的指导意见[S].北京:中华人民共和国国务院,2015.

[2]中华人民共和国商务部.“互联网+流通”行动计划[S].北京:中华人民共和国商务部,2015.

[3]中国铁路总公司.关于进一步加强零散货物快运的实施意见[S].北京:中国铁路总公司,2015.

[4]李礁.浅议MVP模式在Windows项目中的应用[J].信息通信,2011,10(4):99-102.

[5]AndersonC.TheModel-View-ViewModel(MVVM)DesignPatternproBusinessApplicationswithSilverlight[J].2010,33(1):373-402.

[6]李和中,陈芳.基于云计算信息架构的云政府服务[J].中国行政管理,2012,29(3):22-25.

责任编辑:何 莹

1004-2024(2015)10-0032-06

:TP399:U294.4

:B

10.16669/j.cnki.issn.1004-2024.2015.10.08

2015-09-25

猜你喜欢
零散快运开发人员
国内外高铁快运业务发展的对比及启示
智能轨道快运系统用综合无线通信系统的设计
Semtech发布LoRa Basics 以加速物联网应用
农村零散农户重大病虫害防治现状及其对策
“零散小”项目后评价实践
中国高铁快运强势品牌构建对策研究
凌絮裙摆
凌絮裙摆
后悔了?教你隐藏开发人员选项
韵达快运注重培养管理型人才