Android模块化解决方案


浏览:816 次

模块化解决了什么问题?随着项目和业务的不断迭代,整个项目中的代码数量将继续增长。在这个过程中,代码的可伸缩性和可读性将随着时间的推移而下降。

有两种方法可以解决这个问题。一种是定期审查代码架构,并采取一些抗降级措施,以确保项目的质量不会随着项目的增长而下降。然而,由于持续时间和人力投入,这种方法很难在快速需求迭代的团队中实现。此外,团队需要有能够敏感地检测代码退化趋势的人员来发起审查。该角色通常由技术专家或建筑师担任。该方法的可操作性不高。

另一种解决方案是将复杂问题分解为多个小而简单的问题,而处理简单问题通常不依赖高级人才。这种方法就是分而治之,把大而复杂的问题分解成小而简单的问题,这样我们就可以一个一个地把它们分解。与该方法相对应的工程方法之一是模块化。

什么是模块化?模块化就是简单地将多功能和高度耦合的代码逻辑分解为具有单一功能和明确职责的多个模块。

模块化的好处是什么?模块化的好处很多,主要集中在提高代码库的可维护性和整体质量上。下表总结了主要优势。

优点总结多app重用的模块化是在多app开发中重用代码逻辑的基础。每个模块都是一个独立而有效的构建单元。严格的访问权限模块可以很好地控制代码的可访问性,并在模块内部添加私有逻辑;内部或私人修改。防止代码被其他模块引用而导致过度耦合。可定制交付可动态分发(播放功能交付)功能(注:国内应用商店基本不可用)。上述好处只能通过模块化实现。以下是不需要模块化就可以实现的好处,但模块化可以更好地实现。

优点摘要可扩展性在代码紧密耦合的代码仓库中,一个小的更改可能会导致整个系统。一个好的模块化项目将实现代码解耦(关注点分离),从而避免上述问题。负责人一个模块可以有一个专门负责维护代码、修复错误、添加测试和代码审查的人。便于代码和人员的双重管理。封装意味着代码的每一部分都应该尽可能少地了解其他部分(最小已知原则)。隔离代码更容易阅读和理解。可测试性可测试性描述了测试代码的难度。可测试代码是可以轻松独立测试组件的代码。小类比大类更容易测试,依赖关系较少的类比依赖关系较多的类更易于测试。构建时模块化可以提高编译速度,例如增量构建、构建缓存或并行构建。模块化的常见误解任何技术都有好坏之分,模块化也是如此。模块化的不当使用也可能会带来一些问题。一些常见问题如下:

粒度太细:粒度太细意味着项目中会有很多模块,多个模块会导致编译耗时和多个模块配置的同步;

粒度太粗:粒度太粗意味着项目中的模块很少,模块化的好处无法充分实现;由于这是一个渐进的过程,过于粗糙的粒度可能是一个开始,而不应该是一个结束;

太复杂了:模块化项目并不总是有意义的。如果项目在可预见的未来的增长不明朗,那么维持现状也是一个不错的选择。

高内聚和低耦合的原则没有适合所有项目的模块化方案。让我们来谈谈可以在模块化开发过程中使用的一些通用规则和常见模式。

高内聚性和低耦合性是模块化项目的一个特点。耦合度量模块的相互依赖程度,内聚度量单个模块元素的功能相关性。应追求低耦合和高内聚性:

低耦合模块不应理解其他模块的内部工作原理,这意味着模块应尽可能彼此独立,以便对一个模块的更改对其他模块的影响为零或最小。

高内聚性意味着模块应该只包含相关代码

相关资讯:
农产品电子商务向企业个人农产品电子贸易方向发展的效益

农产品电子商务向企业个人农产品电子贸易方向发展的效益

查看
Web 3.0技术的基本方向

Web 3.0技术的基本方向

查看
认知

认知

查看
面向对象的

面向对象的

查看
2018-12-25

2018-12-25

查看