iOS开发入门:移动平台架构设计

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

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

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

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

业务层是系统的核心业务处理层,负责接收表示层的指令和数据,消化吸收后,进行组织业务逻辑的处理,并将结果返回给表示层。

数据持久层是服务层用于访问数据库层,从设计规范上讲为了降低耦合度,服务层不应该具有访问数据库的代码,访问数据库的代码应该放到数据持久层中。

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

移动平台的分层架构设计

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

表示层,iOS中的表示层是由UIKit Framework构成的,它包括我们前面学习的视图、控制器、控件和事件处理等内容;

业务逻辑层,采用什么框架要据具体的业务而定,但一般是具有一定业务处理功能的Objective-C和C++封装的类,或者是C封装的函数。

数据持久层,提供本地或网络数据访问,它可能是访问SQLite数据API函数,也可能是CoreData技术,或是访问文件的NSFileManager,或是网络通信等技术,采用什么方式要看信息系统层是什么。

信息系统层,就iOS而言它的信息来源分为:本地和网络。本地数据可以放入文件中也可以放在数据库中,目前iOS本地数据库采用SQLite3。网络可以是某个云服务,也可以是一般的Web服务。

基于同一工程的分层

架 构对于我们iPhone和iPad开发有着很现实的意义。如果我们要编写一个基于iOS(iPhone和iPad两个平台)“My备忘录”应用,  它具有:增加、删除和查询备忘录的基本功能, “备忘录”应用用例图,分层设计之后,表示层可以有不同iPhone版和iPad版本,而且业务逻辑层、数  据持久层和信息系统层都可以公用。这样可以大大减少我们的工作量,这就是分层设计的好处。

时间: 2024-09-29 23:17:57

iOS开发入门:移动平台架构设计的相关文章

iOS 开发中的 Flux 架构模式

本文讲的是iOS 开发中的 Flux 架构模式, 在半年前,我开始在 PlanGrid iOS 应用程序中采用 Flux 架构(开发).这篇文章将会讨论我们从传统的 MVC 转换到Flux的动机,同时分享我们目前积累到的经验. 我尝试通过讨论代码来描述我们大部分的 Flux 实现, 它用于我们今天的产品中. 如果你只对综合结果感兴趣, 请跳过这篇文章的中间部分. 为什么从 MVC 转移 为了引入我们的决定, 我想要先谈一谈 PlanGrid 这个应用遇到的一些挑战.一些问题仅针对企业级应用程序,

《iOS 9 开发指南》——第1章,第1.1节IOS开发入门

第1章 IOS开发入门 iOS 9 开发指南 iOS是一个强大的系统,被广泛地应用于苹果公司的系列产品iPhone.iPad和iTouch设备中.iOS通过这些移动设备展示了一个多点触摸界面及众多内置传感器的界面.本章将带领大家认识iOS系统,为读者步入本书后面知识的学习打下基础. 1.1 iOS系统介绍 iOS 9 开发指南 图片 1 知识点讲解:光盘:视频\知识点\第1章\ iOS系统介绍.mp4 iOS是由苹果公司开发的手持设备操作系统.苹果公司最早于2007年1月9日的Mac World

基于微服务和Docker容器技术的PaaS云平台架构设计

本文讲的是基于微服务和Docker容器技术的PaaS云平台架构设计[编者的话]在系统架构上,PaaS云平台主要分为微服务架构.Docker容器技术.DveOps三部分,这篇文章重点介绍微服务架构的实施. [3 天烧脑式容器存储网络训练营 | 深圳站]本次培训以容器存储和网络为主题,包括:Docker Plugin.Docker storage driver.Docker Volume Pulgin.Kubernetes Storage机制.容器网络实现原理和模型.Docker网络实现.网络插件.

监控平台架构设计

花了两个小时设计的高富帅方案(UPP监控平台架构设计) 目录 UPP监控平台架构设计 1.引言 1.1背景 1.2编写目的 1.3定义 2.范围 2.1 系统主要目标 2.2主要软件需求 2.3设计约束.限制 3.软件系统结构设计 3.1.监控方案: ①传统方式: ②改进方式: ③继续改良方式: ④高富帅方式: 3.2软件体系结构 3.2.1结构图 3.2.2功能模块说明 4.主要技术介绍 监控系统搭建 日志拷贝 日志分析程序 5.需要硬件     UPP监控平台架构设计 1.1背景1.引言 随

iOS开发那些事-移动平台架构设计

低耦合企业级系统架构设计 我们往往称JavaEE或.Net 开发的产品为"系统",而移动平台(主要是:Android.iOS和Window Phone)开发的产品为"应用"."系统"比较复杂,需要架构设计,而"应用"相对比较简单,这是不是意味着我们不需要考虑架构问题呢?   我们首先了解一下企业级系统架构设计.软件设计的原则是提高软件系统的"可复用性"和"可扩展性",系统架构设计采用层次

iOS开发入门:自定义单元格实现

自定义单元格 当苹果公司提供给的单元格样式不能我们的业务需求的时候,我们需要自定义单元格.在iOS  5之前,自定义单元格可以有两种实现方式:代码实现和用xib技术实现.用xib技术实现相对比较简单,创建一个xib文件,然后定义一个继承 UITableViewCell类单元格类即可.在iOS 5之后我们又有了新的选择,故事板实现方式,这种方式比xib方式更简单一些. 我们把简单表视图案例的原型图修改一下,这种情况下四种内置的单元格样式就不合适了. 开发入门:自定义单元格实现-"> 采用&q

iOS开发入门:Passbook详解与开发案例

Passbook是iOS 6的新功能,只能在iPhone和iPod touch设备中使用.它可以帮助我们管理商家发放的电子会员卡.积分卡.优惠券等.这将对未来电子商务产生深远的影响.商家通过发放会员卡.积分卡.优惠券等,提高与消费者的互动,吸引人们更多消费.Passbook的诞生,正是为了将所有这些"卡"和"券"电子化,存放在iPhone或iPod touch里. Passbook与Pass iOS 6中的Passbook能够帮助我们集中管理电子"卡&qu

轻松监控上万台服务器:企业运维监控平台架构设计与实践指南

一.Cacti/Nagios/Zabbix/centreon/Ganglia之抉择  1.cacti   Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具.   简单的说Cacti 就是一个PHP 程序.它通过使用SNMP 协议获取远端网络设备和相关信息,(其实就是使用Net-SNMP软件包的snmpget 和snmpwalk 命令获取)并通过RRDTOOL 工具绘图,通过PHP 程序展现出来.我们使用它可以展现出监控对象一段时间内的状态或者性能趋势

iOS开发入门:OCUnit测试框架

使用OCUnit测试框架iOS单元测试框架 原则上,是否使用测试框架都不会影响单元测试结果,但是"工欲善其事,必先利其器"使用单元测试框架更便于我们测试和分析结果. 主要的iOS单元测试框架有: OCUnit,是开源测试框架,与Xcode工具集成在一起使用非常方便,测试报告以文本形式输出到输出窗口: GHUnit,是开源测试框架,它可以将测试报告以应用形式可视化输出到设备或模拟器上,也可以以文本形式输出到输出窗口:GHUnit可以测试OCUnit编写的测试用例: OCMock,是开源测