专栏名称: 鸿洋
你好,欢迎关注鸿洋的公众号,每天为您推送高质量文章,让你每天都能涨知识。点击历史消息,查看所有已推送的文章,喜欢可以置顶本公众号。此外,本公众号支持投稿,如果你有原创的文章,希望通过本公众号发布,欢迎投稿。
目录
今天看啥  ›  专栏  ›  鸿洋

一个大型 Android 项目的模块划分哲学

鸿洋  · 公众号  · android  · 2024-11-15 08:35
    

主要观点总结

本文介绍了作者独立项目中使用的模块划分方式和相关技术思路,包括十几个模块的主要职责和相互关系。文章强调了理解业务的重要性,以及在项目中使用框架的必要性。同时,文章介绍了作者项目中具体的模块划分方式,包括Framework、Biz Framework、Common Biz、Features、Plugins和Application等模块的作用和设计原则。

关键观点总结

关键观点1: 模块拆分与业务和技术架构的关系

作者介绍了项目中模块拆分的主要目的,是为了降低未来修改成本,并反映技术架构和业务架构。同层级的模块互相独立,依赖关系单向。强调理解业务的重要性,以及在业务形式化建模后的软件架构设计。

关键观点2: Biz Framework和Framework的作用

Biz Framework是业务上的框架,包含项目基石业务的抽象和基础接口;Framework是技术上的框架,包含纯技术、业务无关但根据业务需求编写的通用能力。

关键观点3: Common Biz和Features模块的职责

Common Biz负责通用业务模块,如数据分析、通用UI组件等;Features模块包含独立的业务,不同Feature之间可能会有互相跳转的需求,可通过Visitor接口或路由实现。

关键观点4: Plugins模块的插件化架构作用

Plugins模块作为插件化架构的插件层存在,用于实现一些可能的动态功能或依赖于运行环境的功能。插件层一般不被其他模块依赖,可以通过依赖注入或SPI机制获取其实现。

关键观点5: Application模块的简单介绍

Application模块主要用来组合所有的Feature模块,一般不会包含太多代码。对于跨平台项目,可能存在多个Application模块,每一个对应一种平台。


免责声明

免责声明:本文内容摘要由平台算法生成,仅为信息导航参考,不代表原文立场或观点。 原文内容版权归原作者所有,如您为原作者并希望删除该摘要或链接,请通过 【版权申诉通道】联系我们处理。

原文地址:访问原文地址
总结与预览地址:访问总结与预览
推荐产品:   推荐产品
文章地址: 访问文章快照