iPhone与iPad应用 开发的差异
由于iPhone和iPad尺寸不同,应用场景也不同,因此在导航模式上有比较大的差异,一些控件在展现方 式上会有很多差别,所以iPad有一些特有的API。
设计和开发需注意的问题:
在设计和开发时,需要注意的有如下几个方面:API、导航模式和分层架构设计。
iOS分层架构设计
设计模式只是解决某一特定问题的策略,是面向局部的;而架构设计则是一个将设计模式宏观、全面、有机 地组织起来解决整个应用系统的方案。衡量一个软件架构设计好坏的标准是可复用性和可扩展性。可复用性和可 扩展性强的软件系统能够满足用户不断变化的需求。为了使我们的软件系统具有可复用性和可扩展性,我主张采 用分层架构设计。层(Layer)是具有相似功能的类或组件的集合,例如,表示层就是在应用中负责与用户交互的 类和组件的集合。
低耦合企业级系统架构设计
表示层。用户与系统交互的组件集合。用户通过这一层向系统提交请求或发出指令,系统通过这一层接收 用户请求或指令,待指令消化吸收后再调用下一层,接着将调用结果展现到这一层。表示层应该是轻薄的, 不应该具有业务逻辑。
业务逻辑层。系统的核心业务处理层。负责接收表示层的指令和数据,待指令和数据消化吸收后,再进行 组织业务逻辑的处理,并将结果返回给表示层。
数据持久层。数据持久层用于访问信息系统层,即访问数据库或文件操作的代码只能放到数据持久层中, 而不能出现在其他层中。
信息系统层。系统的数据来源,可以是数据库、文件、遗留系统或者网络数据。
我们开发一个企业级系统的顺序应该是,先是信息层,其次是数据持久层,再次是业务逻辑层,最后是表示层。
iOS 分层架构设计
iOS分层架构设计,其中各层内容说明如下。
表示层。它由UIKit Framework构成,包括我们前面学习的视图、控制器、控件和事件处理等内容。
业务逻辑层。采用什么框架要据具体的业务而定,但一般是具有一定业务处理功能的Objective-C和C++封
装的类,或者是C封装的函数。 数据持久层。提供本地或网络数据访问,它可能是访问SQLite数据的API函数,也可能是Core Data技术,
或是访问文件的NSFileManager,或是网络通信技术。采用什么方式要看信息系统层是什么。
信息系统层。它的信息来源分为本地和网络。本地数据可以放入文件中,也可以放在数据库中,目前iOS
本地数据库采用SQLite3。网络可以是某个云服务,也可以是一般的Web服务。