项目架构分析
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.应用资源
音频、视频
相关文章推荐
- 分析PetShop 4.0 的项目架构和分布式数据库设计
- 微软Asp.Net架构与项目团队管理建设模型分析
- 开源项目Lucene的架构详细解析----用软件构架分析的方法
- 项目视频讲解_基于SOA 思想下的WebService实战(电子商务需求,分析,架构全涉及,百万数据优化)
- (实战)Spring Portlet MVC处理请求分析以及如何快速架构一个Portlet项目
- 研究项目: JBoss架构分析
- b2c项目基础架构分析(一)b2c 大型站点方案简述 已补充名词解释
- 公司项目使用的架构分析
- 项目的架构分析
- Android 项目架构设计分析
- 从不同架构的角度进行web项目的需求分析和系统设计
- C# 窗口项目中文件架构分析(一)
- C# 窗口项目中文件架构分析(一)
- 项目的架构分析
- Project Silk – Mileage Stats 项目架构初步分析(ASP.NET MVC 3) 推荐
- 微软Asp.Net架构与项目团队管理建设模型分析
- 项目中采用J2EE体系架构分析
- Project Silk – Mileage Stats 项目架构初步分析(ASP.NET MVC 3)
- 银行业务调度系统-心得1-项目需求分析和类图架构
- 开源项目Philm的MVP架构分析