background image

iOS 开发移动平台架构设计

    低耦合企业级系统架构设计

    我们往往称 JavaEE 或.Net 开发的产品为“系统”,而移动平台(主要是:Android、iOS 和
Window Phone)开发的产品为“应用”。“系统”比较复杂,需要架构设计,而“应用”相对比较
简单,这是不是意味着我们不需要考虑架构问题呢?

    我们首先了解一下企业级系统架构设计。软件设计的原则是提高软件系统的“可复用性”和
“可扩展性”,系统架构设计采用层次划分方式,这些层次之间是 松耦合的,层次的内部是
高内聚的。降低耦合是软件设计的目标,能够设计出低耦合的系统,就意味着我们的系统具

“可复用性”和“可扩展性”。通用低耦合 JavaEE 和.Net 企业级系统架构图。

表示层是用户与系统交互的组件集合,用户通过这一层向系统提交请求或发出指令,

系统通过这一层接收用户请求或指令,然后,将指令消化吸收后调用下一层,再将调用的
结果展现到这一层。表示层应该是轻薄的不应该具有业务逻辑。

业务层是系统的核心业务处理层,负责接收表示层的指令和数据,消化吸收后,进行

组织业务逻辑的处理,并将结果返回给表示层。

数据持久层是服务层用于访问数据库层,从设计规范上讲为了降低耦合度,服务层不

应该具有访问数据库的代码,访问数据库的代码应该放到数据持久层中。

信息系统层,是系统的数据来源,可以是数据库、文件、遗留系统和网络数据。

    移动平台的分层架构设计

    移动平台的应用是缩小版本的系统,它也需要架构设计,但并非所有的应用都一定基于
通用低耦合企业级系统架构,一般而言主要是涉及信息处理的应用才使用这种架构设计模
式,例如:一些游戏有自己的游戏引擎,引擎也属于架构设计。

iOS 平台一般信息处理应用

分层架构设计图。

表示层,

iOS 中的表示层是由 UIKit Framework 构成的,它包括我们前面学习的视图、

控制器、控件和事件处理等内容;

业务逻辑层,采用什么框架要据具体的业务而定,但一般是具有一定业务处理功能的

Objective-C 和 C++封装的类,或者是 C 封装的函数。

数据持久层,提供本地或网络数据访问,它可能是访问

SQLite 数据 API 函数,也可能

CoreData 技术,或是访问文件的 NSFileManager,或是网络通信等技术,采用什么方式

要看信息系统层是什么。

信息系统层,就

iOS 而言它的信息来源分为:本地和网络。本地数据可以放入文件中也

可以放在数据库中,目前

iOS 本地数据库采用 SQLite3。网络可以是某个云服务,也可以是