项目架构分析

项目架构分析

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设备上的触摸交互操作

iOS系统架构

这里写图片描述

1.2.2-软件架构分析

  • 每个人对软件的架构分析是不一样的,在不影响具体开发的情况下,没有人能说自己的架构是好的,别人的架构就一定是不好的,以下只是本人多年开发经验积累的一些感悟,仅供参考

    • 衡量一个软件架构的好坏,最有说服力的就是它的存活性,即能够在原有的架构师迭代几个版本,维护多少年~
  • 软件标准的四层架构如下

    • 1.展示层:负责系统与客户的交互
      • 我们的MVC属于展示层
    • 2.业务逻辑层:负责处理系统的业务逻辑
      • 主要是将应用的核心业务进行分离封装,复用性很高
    • 3.数据访问层:负责处理数据,与不同的数据打交道
      • 如我们软件开发中的单例模式
      • 如开发中对AFN框架的二次封装(单例模式实现AFNetworkingManager)
    • 4.服务层:负责与其他系统进行数据交互和业务集成
      • 如开发中的网络层:负责我们软件与后台之间的数据交互
      • 如开发中的硬件层:负责与硬件设备交互(硬件都是二进制,需要底层封装)

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

  • 有了系统层次的分析,我们需要将系统层次的架构具体的反应到我们的工程中,并且针对应用开发来搭建我们工程的目录结构

  • 1.模块划分

    • 分析项目需求,进行模块划分
      • MVC或者MVVM或者MVP
  • 2.通用组件
    • 1.通用宏
    • 2.通用工具
      • 自定义类
      • 系统分类
    • 3.通用UI
  • 3.核心服务层
    • 网络层
    • 硬件层
  • 4.通用模型
    • 跨模块数据层
  • 5.第三方框架
  • 6.应用资源
    • 音频、视频

这里写图片描述

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值