大家都知道,在移动设计开发中有很多种模式,最常用的单例设计模式、MVC设计模式、工厂设计模式、KVO、通知、代理等等。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。
而架构设计是宏观的、全面的将设计魔术组织起来解决整个应用系统的方案。架构设计是人们对一个结构内的元素及元素间关系的一种主观映射的产物。一个好的架构设计有着良好的可复用性和可扩展性,这样可以满足用户不断变化的需求。
低耦合企业级系统架构设计
我们知道,软件设计的原则是提高软件系统的“可复用性”和“可扩展性”。系统架构设计采用层次划分的方式,层次之间是低耦合的,层次的内部是高内聚的。如下图:
表示层:用户和系统交互的组件集合。用户通过提交请求或者发出指令,系统接收用户的请求或者指令,然后将请求或者指令调往下一层,最终将结果返回这一层。表示层是用户交互和数据的展示,不应具有业务逻辑。
业务逻辑层:接收处理表示层的指令和数据,进行业务逻辑处理,并将结果返回表示层。
数据持久层:数据持久层用于访问信息系统层,即访问数据库或文件操作。
信息系统层:系统数据来源,如数据库、文件、网络数据等。
这是一个层次分明上下层关系。没有下层就没有上层。信息系统层是最底层,是所有层的基础,我们在开发的时候应该先做下层在做上层。
iOS分层架构设计
ios应用也需要架构设计,但不是不一定都采用分层架构设计。一般而言,有关信息处理的应用大多采用分层架构设计,但是像游戏等应用就不会采用这种分层架构设计。
表示层:UIKit Framework构成,如视图、控制器、控件、事件处理等。
业务逻辑层:采用的框架根据业务而定。
数据持久层:网络数据的访问或者本地数据访问。
信息系统层:信息来源分为本地和网络。
在iOS平台中,分层架构有多种模式。
首先我们先熟悉:工程和工作空间、静态库和框架之间的关系。