项目架构分析

  • 1.1-什么是架构
  • 1.2-从系统层次进行架构分析
  • 1.2.1-iOS系统框架介绍
  • 1.2.2-软件架构分析
  • 1.3-从应用层次进行架构分析

1.1-什么是架构?

  • 我们人类在做事之前喜欢先把它的整体结构设想一下,就像盖一座大厦,可能会想用砖盖,还是用最新的环保隔声材料盖,里面的格局是采用中式的还是欧式的,彩色主色采用什么等等,这些相关的数据都需要提前规定好,事实上项目架构也是这样
  • 在一个好的架构下编程,不仅对于开发人员是一件赏心悦目的事情,更重要的是软件能够表现出一个健康的姿态;而架构设计的不合理,不仅对于开发人员是一件受苦受难的事情,软件本身的质量更是受到严重威胁。

1.2-从系统层次进行架构分析

1.2.1-iOS系统架构介绍

  • 我们在开发中去架构一款软件,很大程度上我们参考了iOS系统自身的架构,这样获取更加具有说服力
  • iOS的系统架构分为四个层次:核心操作系统层(Core OS layer)、核心服务层(Core Services layer)、媒体层(Media layer)和可触摸层(Cocoa Touch layer)
  • Core OS是位于iOS系统架构最下面的一层是核心操作系统层,它包括内存管理、文件系统、电源管理以及一些其他的操作系统任务。它可以直接和硬件设备进行交互。作为app开发者不需要与这一层打交道
  • Core Services是核心服务层,可以通过它来访问iOS的一些服务
  • Media是媒体层,通过它我们可以在应用程序中使用各种媒体文件,进行音频与视频的录制,图形的绘制,以及制作基础的动画效果
  • Cocoa Touch是可触摸层,这一层为我们的应用程序开发提供了各种有用的框架,并且大部分与用户界面有关,本质上来说它负责用户在iOS设备上的触摸交互操作

项目四层架构 项目的架构_框架

项目四层架构 项目的架构_项目四层架构_02

1.2.2-软件架构分析

  • 每个人对软件的架构分析是不一样的,在不影响具体开发的情况下,没有人能说自己的架构是好的,别人的架构就一定是不好的,以下只是本人多年开发经验积累的一些感悟,仅供参考
  • 衡量一个软件架构的好坏,最有说服力的就是它的存活性,即能够在原有的架构师迭代几个版本,维护多少年~
  • 软件标准的四层架构如下
  • 1.展示层:负责系统与客户的交互
  • 我们的MVC属于展示层
  • 2.业务逻辑层:负责处理系统的业务逻辑
  • 主要是将应用的核心业务进行分离封装,复用性很高
  • 3.数据访问层:负责处理数据,与不同的数据打交道
  • 如我们软件开发中的单例模式
  • 如开发中对AFN框架的二次封装(单例模式实现AFNetworkingManager)
  • 4.服务层:负责与其他系统进行数据交互和业务集成
  • 如开发中的网络层:负责我们软件与后台之间的数据交互
  • 如开发中的硬件层:负责与硬件设备交互(硬件都是二进制,需要底层封装)

项目四层架构 项目的架构_项目四层架构_03

1.3-从应用层次进行架构分析

  • 有了系统层次的分析,我们需要将系统层次的架构具体的反应到我们的工程中,并且针对应用开发来搭建我们工程的目录结构
  • 1.模块划分
  • 分析项目需求,进行模块划分
  • MVC或者MVVM或者MVP
  • 2.通用组件
  • 1.通用宏
  • 2.通用工具
  • 自定义类
  • 系统分类
  • 3.通用UI
  • 3.核心服务层
  • 网络层
  • 硬件层
  • 4.通用模型
  • 跨模块数据层
  • 5.第三方框架
  • 6.应用资源
  • 音频、视频

项目四层架构 项目的架构_应用_04