使用Flex+Cairngorm+AIR制作列车时刻表查询工具[连载一]

转载自:http://doc.riameeting.com/download/TrainSchedule.rar

列车时刻表是大家经常会用到的一种比较常用的工具,可以说是出门旅行必备,今天我们要制作的这个列车时刻表是基于AIR的一个软件,打开电脑就可以查询,非常方便。在这里,让我们来做结合MVC框架,制作一个列车时刻表的应用。

索引

  1. 使用Flex+Cairngorm+AIR制作列车时刻表查询工具[连载一]
  2. 使用Flex+Cairngorm+AIR制作列车时刻表查询工具[连载二]
  3. 使用Flex+Cairngorm+AIR制作列车时刻表查询工具[连载三]

涉及技术

  1. Flex
  2. Cairngorm
  3. WebService
  4. AIR
  5. SQLite

准备知识:关于Cairngorm

Cairngorm是指导Flex开发以MVC(Model-View-Control)模式进行的架构框架,它的重点在于给你一个指导性原则,而并非具体实现,它要实现的目的就是提高项目的可维护性和灵活性,和重用(注意是功能上的重用,而非代码级的重用)。

它是一个由多个设计模式组合而成的集合体。

使用它的重点在于遵循它的设计思想,而非使用它的代码。

它解决的问题包括:使用Model保持客户端状态,使用ValueObject方式达到传送数据的目的。

Cairngorm推荐的最佳实践:

  1. 将数据模型几种到一个全局的ModelLocator中。ModelLocator应为单例模式避免变量冲突。
  2. 在控件中使用数据绑定
  3. 合理组织视图,将组件封闭(避免直接对外引用),通过声明组件所需的共有变量(需要能够绑定)从外部接收数据,声明自定义事件来播发组件的业务逻辑。
  4. 功能点驱动的开发,以业务逻辑为驱动(用户引发的操作,系统引发的操作,都通过Event派发,然后交给命令执行)。

Cairngorm 示意图

  1. Model Locator(模型定位器):存储你的应用中所有的Value Objects(数据)和共享变量在一个位置。和Http的Session对象类似,只是它存储在Flex接口的客户端而不是在中间件应用服务器的服务器端。
  2. View(界面):通过一个或者多个Flex组件(按钮、面板、组合框、Tile等等)组合在一起的一个个命名单元,绑定数据在Model Locator(模型定位器)中,并且产生基于用户操作(点击、滚动、拖拽等)的自定义的Cairngorm事件。
  3. Front Controller(前端控制器):接收Cairngorm事件并映射他们到Cairngorm命令控制器上。
  4. Command(命令控制器):处理商业逻辑,调用Caringorm代理和(或)其它命令。
  5. Delegate(代理):由命令创建,实例化远程过程调用(HTTP、Web Service等等)并且处理命令的返回结果数据。
  6. Service(服务):定义连接远程数据存储的远程过程调用(HTTP、Web Service等等)。

要实现的功能:

  1. 可以按照车次查询列车的详细信息
  2. 可以按照出发和目的地查询列车信息
  3. 用户可以选择是基于网络查询还是基于本地数据库查询(SQLite),在离线的情况下可以使用本地数据库查询

UI设计:

界面设计我们采用黑色作为基调,配合一个图标作为装饰:

(未完待续)

原文地址:https://www.cnblogs.com/zhuwenlubin/p/1868481.html