您的位置:首页 > 运维架构 > 网站架构

项目架构分析

2016-11-18 11:16 176 查看

项目架构分析

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





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.应用资源

音频、视频

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  架构 框架 软件 应用