
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的程序员都在学习组件化编程开发等互联网技术,而本文我们就通过案例分析来简单了解一下,组件化编程的概念与应用方法分享。
1.为什么要组件化
1.1为什么要组件化
APP迭代维护成本增高
投资界,新芽,项目工厂等APP自身在飞速发展,版本不断迭代,新功能不断增加,业务模块数量不断增加,业务上的处理逻辑越变越复杂,同时每个模块代码也变得越来越多,这就引发一个问题,所维护的代码成本越来越高,稍微一改动可能就牵一发而动全身,改个小的功能点就需要回归整个APP测试,这就对开发和维护带来很大的挑战。
多人组合需要组件化
APP架构方式是单一工程模式,业务规模扩大,随之带来的是团队规模扩大,那就涉及到多人协作问题,每个移动端软件开发人员势必要熟悉如此之多代码,如果不按照一定的模块组件机制去划分,将很难进行多人协作开发,随着单一项目变大,而且Andorid项目在编译代码方面就会变得非常卡顿,在单一工程代码耦合严重,每修改一处代码后都需要重新编译打包测试,导致非常耗时。
1.2现阶段遇到的问题
结合投资界,新芽客户端分析
代码量膨胀,不利于维护,不利于新功能的开发。项目工程构建速度慢,在一些电脑上写两句代码,重新编译整个项目,测试的话编译速度起码10-20分钟,有的甚至更长。
不同模块之间代码耦合严重,有时候修改一处代码而牵动许多模块。每个模块之间都有引用三方库,但有些三方库版本不一致,导致打包APP时候代码冗余,容易引起版本冲突。
现有项目基于以前其他人项目基础上开发,经手的人次过多,存在着不同的代码风格,项目中代码规范乱,类似的功能写法却不一样,导致不统一。
2.组件化的概念
2.1什么是组件化
什么是组件化呢?
组件(Component)是对数据和方法的简单封装,功能单一,高内聚,并且是业务能划分的小粒度。
组件化是基于组件可重用的目的上,将一个大的软件系统按照分离关注点的形式,拆分成多个独立的组件,使得整个软件系统也做到电路板一样,是单个或多个组件元件组装起来,哪个组件坏了,整个系统可继续运行,而不出现崩溃或不正常现象,做到更少的耦合和更高的内聚。
2.2区分模块化与组件化
模块化
模块化就是将一个程序按照其功能做拆分,分成相互独立的模块,以便于每个模块只包含与其功能相关的内容,模块我们相对熟悉,比如登录功能可以是一个模块,搜索功能可以是一个模块等等。
组件化
组件化就是更关注可复用性,更注重关注点分离,如果从集合角度来看的话,可以说往往一个模块包含了一个或多个组件,或者说模块是一个容器,由组件组装而成。简单来说,组件化相比模块化粒度更小,两者的本质思想都是一致的,都是把大往小的方向拆分,都是为了复用和解耦,只不过模块化更加侧重于业务功能的划分,偏向于复用,组件化更加侧重于单一功能的内聚,偏向于解耦。
2.3组件化优势好处
简单来说就是提高工作效率,解放生产力,好处如下:
1.提高编译速度,从而提高并行开发效率。
问题:那么如何提高编译速度的呢?组件化框架可以使模块单独编译调试,可以有效地减少编译的时间。
2.稳定的公共模块采用依赖库方式
提供给各个业务线使用,减少重复开发和维护工作量。代码简洁,冗余量少,维护方便,易扩展新功能。
3.每个组件有自己独立的版本,可以独立编译、测试、打包和部署。
针对开发程序员多的公司,组件化很有必要,每个人负责自己的模块,可以较少提交代码冲突。
为新业务随时集成提供了基础,所有业务可上可下,灵活多变。
各业务线研发可以互不干扰、提升协作效率,并控制产品质量。
4.避免模块之间的交叉依赖,做到低耦合、高内聚。
5.引用的三方库代码统一管理,避免版本统一,减少引入冗余库。
这个可以创建一个公共的gradle管理的文件,比如一个项目有十几个组件,想要改下某个库或者版本号,总不至于一个个修改吧。这个时候提取公共十分有必要
6.定制项目可按需加载,组件之间可以灵活组建,快速生成不同类型的定制产品。
2.4区分组件化和插件化
组件化和插件化的区别
组件化不是插件化,插件化是在【运行时】,而组件化是在【编译时】。换句话说,插件化是基于多APK的,而组件化本质上还是只有一个APK。
组件化和插件化的大区别(应该也是区别)就是组件化在运行时不具备动态添加和修改组件的功能,但是插件化是可以的。
组件化的目标
组件化的目标之一就是降低整体工程(app)与组件的依赖关系,缺少任何一个组件都是可以存在并正常运行的。app主工程具有和组件进行绑定和解绑的功能。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。