- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
iOS移动平台架构设计
然后,将指令消化吸收后调用下一层,再将调用的结果展现到这一层。表示层应该是轻薄的不应该具有业务逻辑。
业务层是系统的核心业务处理层,负责接收表示层的指令和数据,消化吸收后,进行组织业务逻辑的处理,并将结果返回给表示层。
数据持久层是服务层用于访问数据库层,从设计规范上讲为了降低耦合度,服务层不应该具有访问数据库的代码,访问数据库的代码应该放到数据持久层中。
信息系统层,是系统的数据来源,可以是数据库、文件、遗留系统和网络数据。
移动平台的分层架构设计
移动平台的应用是缩小版本的系统,它也需要架构设计,但并非所有的应用都一定基于通用低耦合企业级系统架构,一般而言主要是涉及信息处理的应用才使用这种架构设计模式,例如:一些游戏有自己的游戏引擎,引擎也属于架构设计。iOS平台一般信息处理应用分层架构设计图。
表示层,iOS中的表示层是由UIKit?Framework构成的,它包括我们前面学习的视图、控制器、控件和事件处理等内容;
业务逻辑层,采用什么框架要据具体的业务而定,但一般是具有一定业务处理功能的Objective-C和C++封装的类,或者是C封装的函数。中国返利网艺尚网
数据持久层,提供本地或网络数据访问,它可能是访问SQLite数据API函数,也可能是CoreData技术,或是访问文件的NSFileManager,或是网络通信等技术,采用什么方式要看信息系统层是什么。
信息系统层,就iOS而言它的信息来源分为:本地和网络。本地数据可以放入文件中也可以放在数据库中,目前iOS本地数据库采用SQLite3。网络可以是某个云服务,也可以是一般的Web服务。
基于同一工程的分层
架构对于我们iPhone和iPad开发有着很现实的意义。如果我们要编写一个基于iOS(iPhone和iPad两个平台)“My备忘录”应用,它具有:增加、删除和查询备忘录的基本功能,?“备忘录”应用用例图,分层设计之后,表示层可以有不同iPhone版和iPad版本,而且业务逻辑层、数据持久层和信息系统层都可以公用。这样可以大大减少我们的工作量,这就是分层设计的好处。
iOS考虑iPhone和iPad两个平台,我们绘制了设计原型草图,?iPhone版本的“My备忘录”应用设计原型草图。iPad版本的“My备忘录”横屏设计原型草图,?iPad版本的“My备忘录”竖屏设计原型草图。
??
?
?
在iOS平台分层的具体做法有多种模式:基于同一工程的分层、基于一个工作空间不同工程的分层和静态链接库分层。本小节介绍基于同一工程的分层。
我们在前文中已经介绍了构建自适应iPhone和iPad工程,就是我们现在要讲的基于同一工程的分层模式。请读“备忘录”应用的代码,实现过程这里不做介绍,打开“MyNotes”工程,在Xcode工程导航面板有3个组:PresentationLayer、BusinessLogicLayer和PersistenceLayer。创建这3个组的目的是把不同层中类放到对应的组中便于管理,?PresentationLayer是放置的表示层相关类,BusinessLogicLayer是放置的业务逻辑层的相关类,PersistenceLayer是放置持久层相关类。
各个层的下面再如何划分呢?我们可以按照业务模块划分,也可以按照组件功能划分。本应用中PersistenceLayer层就还要分成dao和domain两个组,dao是放置数据访问对象的,该对象中有对数据访问的CRUD四类方法,为了降低耦合度dao一般要设计成为协议(或Java接口),然后根据不同的数据来源采用不同的实现方式。domain组是实体类,实体是应用中的“人”、“事”、“物”等。
dao组中NoteDAO.h代码如下:
@interfaceNoteDAO:NSObject
//保存数据列表
@property(nonatomic,strong)NSMutableArray*listData;
+(NoteDAO*)sharedManager;
//插入Note方法
-(int)create:(Note*)model;
//删除Note方法
-(int)remove:(Note*)model;
//修改Note方法
-(int)modify:(Note*)model;
//查询所有数据方法
-(NSMutableArray*)findAll;
//按照主键查询数据方法
-(Note*)findById:(Note*)model;
@end
listData属性用于保存数据表中的数据,其中每一个元素都是Note对象,一个Note对象代表数据表中的一条数据。+?(NoteDAO*)sharedManager方法用于获得NoteDA
您可能关注的文档
最近下载
- 社会保险学(第三版)孙树菡-第二章 社会保险制度的产生与发展.pptx VIP
- 2023年12月黑龙江省机关事务管理局所属事业单位公开招聘工作人员30人笔试历年(2016-2023年)真题荟萃带答案解析.pdf VIP
- 2024年全国乡村医生资格考试专业基础知识考核题库及答案(共200题) .pdf
- 大数据与会计专业-审计原理与实务课程标准.docx VIP
- 2.5跨学科实践:制作隔音房间模型 课件-人教版物理八年级上册第二章.pptx VIP
- 常见截面惯性矩和抗弯截面系数自动计算.docx
- 社会保险学(第三版)孙树菡-第一章 社会保险概述.pptx VIP
- 铝单板幕墙计算书[共22页].doc VIP
- 列那狐的故事好书推荐课件.ppt
- 学校办公室具体工作总结PPT.pptx
文档评论(0)