1 / 35
文档名称:

Android开发软件架构思考以及经验总结.doc

格式:doc   大小:44KB   页数:35页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

Android开发软件架构思考以及经验总结.doc

上传人:wz_198614 2017/10/31 文件大小:44 KB

下载得到文件列表

Android开发软件架构思考以及经验总结.doc

文档介绍

文档介绍:Android开发软件架构思考以及经验总结
在项目开发的过程中,也发现存在许多的问题,但是都是一些零散的问题,我很多时候希望能够改变现状,更加优雅地编程,然后实际的情况却是陷入了迭代功能开发和bug修复的死循环。现在回过头来想想,我理想中应该是开发应该是一种由规划和设计指导的开发,那么架构设计就显的尤为重要了。
作者:井方哥来源:井方哥|2016-12-30 13:52
收藏
分享
一、萌芽
作为一只编程经验并不怎么丰富的程序猿来讲,我一直觉得架构师是一个比较神秘的职业,架构设计就更加的高大上了。经过今年的几个项目,之前曾发文叙述我的从MVC到MVP项目重构实战经验,也曾说过我准备对目前手底下的项目进行重构。但是,前段时间,我改变了我的想法。开发模式的重构,仅仅只是换了一个套路,也许在重构的过程中对业务的逻辑进行了一次梳理,也是在基于前人的代码设计上进行了一些优化。但是,这远远还不够,这不是我理想中的开发场景。在项目开发的过程中,也发现存在许多的问题,但是都是一些零散的问题,我很多时候希望能够改变现状,更加优雅地编程,然后实际的情况却是陷入了迭代功能开发和bug修复的死循环。现在回过头来想想,我理想中应该是开发应该是一种由规划和设计指导的开发,那么架构设计就显的尤为重要了。
二、初识架构
1、阅读《架构之美》之论架构
仅看完了《架构之美》的第一部分:论架构,对架构有了一个大概的认识。下图是这部分的知识点概要:
书中很受启发的概念:
?
?
?
?
?
? 架构是一种折中,一种取舍。架构师要学会的就是平衡,质量与成本之间的平衡; 架构师首先关注的不是系统的功能,而是满足需求,满足品质; 架构设计要做的是让关注点分离,并且对每个关注点进行设计一定的结构,该结构都有利于解答这一个关注点所定义的问题; 好的架构应该是可以指导产品、开发、测试人员都对这一设计感到非常的舒适可靠,该设计覆盖了所有该软件系统相关利益的人员以及其中的关注点; 只设计你知道需要的东西,多余的设计是一种浪费; 架构几乎影响了该系统相关的所有的人和事,决定了该软件系统是否健康。
2、分析行业内各个APP的架构演进
这里仅仅通过Google搜索各个app在架构演进方面的一些文章,从中分析他们为什么要演进?怎么演进?带来了哪些好处?
简单的整理如下:
(1)架构为什么需要演进
?
?
?
? 项目需求扩张,旧的架构不适应新的需求开发团队人员增加,协作要求变高新技术引入更高的软件质量要求
(2)他们是怎么演进的
? 饿了么移动APP的架构演进 2016-01-20
o 模块解耦
?
? 共有组件业务组件
o Excalibur映射系统,注册机制
o 引入Hybrid框架
o React-Native & Hot Patch
? 携程移动App架构优化之旅 2016-04-07
o 工程结构调整、业务之前解耦,产品间相互独立,页面跳转使用事件总线或者URL总线方式
o 统一基础功能业务组件,SDK化
o 性能数据采集、监控
o Native的插件化和HotFix
? 糯米移动组件架构演进之路 2016-05-24
o 组件化
o 统一服务入口
o Hybrid框架优化
? :苏宁易购移动端的架构优化实践 2016-11-11
o 分层解耦,解决纵向解耦
o 中介型引用结构(protocol和url方式),横向解耦
o H5容器优化
o 网络链路优化
o 移动App性能监控系统
(3)带来的好处
?
?
?
? 进行了模块化的解耦,产品相对独立,应对需求变化、技术更新更加灵活,团队协作更加方便,并减少了许多是无用功,也给团队留下了一些技术积累; 进行了必要的统一规范,组织结构更加清晰,系统更加健康; 引入了新的技术框架,,产品获得更好的体验; 进行了系统的优化工作,软件的品质更高,体验更好;
3、Google搜索关键字:架构设计
搜索引擎对于我们来说是最棒的学习工具,我通过搜索架构设计等关键字,阅读了一些文章,并仔细研读Keegan小钢的博客文章《小钢的架构思考》系列。这几篇文章在发表之初曾阅读过,但是当时并不怎么理解,大概是对架构还没有一个大概的认识。在请教一位前辈的时候,他和说了对架构的一个理解,并再次推荐了这几篇文章。所以我再次阅读了好几遍。下图是文中关于架构设计的知识概要。
(1)知识概要
(2)个人小结
架构分为三个阶段:规划、设计、构建,每个阶段架构的设计有不同职能。在规划阶段,考虑的是产品的需求、质量的需求,技术的可

最近更新

2025年阳江职业技术学院单招综合素质考试必刷.. 56页

2025年阳泉师范高等专科学校单招职业倾向性考.. 58页

依叶的FAB专题知识 140页

2025年阿勒泰职业技术学院单招职业技能考试必.. 55页

2017年辽宁省盘锦市中考物理真题及答案 9页

2025年陕西交通职业技术学院单招职业技能测试.. 56页

2025年陕西国际商贸学院单招职业技能考试题库.. 56页

2025年陕西工商职业学院单招职业技能考试题库.. 55页

2025年陕西服装工程学院单招职业倾向性考试题.. 56页

2025年陕西机电职业技术学院单招职业适应性测.. 55页

2025年陕西省延安市单招职业适应性考试题库(.. 55页

2025年陕西省汉中市单招职业倾向性考试必刷测.. 58页

2025年陕西省西安市单招职业适应性测试必刷测.. 54页

2025年陕西省铜川市单招职业适应性考试题库有.. 58页

2025年陕西航天职工大学单招职业技能考试题库.. 57页

2017年5月雅思真题回忆及解析 40页

2025年陕西艺术职业学院单招职业适应性考试必.. 56页

2025年陕西财经职业技术学院单招综合素质考试.. 54页

2025年陕西邮电职业技术学院单招职业技能考试.. 56页

2025年陕西铁路工程职业技术学院单招职业适应.. 56页

2025年陕西青年职业学院单招职业适应性考试题.. 56页

2025年青岛工程职业学院单招职业技能考试题库.. 55页

2016年重庆南川中考化学真题及答案A卷 6页

2025年青岛港湾职业技术学院单招职业倾向性测.. 54页

2016年甘肃省嘉峪关市中考语文试题及答案 9页

《雷达基本工作原理》PPT课件 36页

职称过渡说明 6页

血透患者入院须知 2页

上海实验学校幼升小测试题 34页

四川省2022年普通高校对口招生统一考试语文真.. 10页