[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M5paLqgu-1651119235346)(https://upload-images.jianshu.io/upload_images/24216715-25807c8cb942bb8e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
模块的划分
模块可分为多种类型,一般分为:三方的基础 SDK (网络请求,地图导航,推送等);自己平台的通用功能(网络请求的能力封装、图片加载能力封装、权限设置、UI组件等);业务模块的拆分(登录、交易、会员、硬件等)。
模块间通信
虽然功能已经按模块拆分,但是模块间通信也是多种形势,如果处理不好模块之间耦合严重维护成本增大。常见模块问通信有:直接依赖、事件或广播通信、路由通信、面向接口通信,下面就对比下几种通信优势。
二、实现方案
直接依赖
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ujbt278y-1651119235348)(https://upload-images.jianshu.io/upload_images/24216715-0396f59d8abe5da6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
这种方式实现简单,但是耦合太严重,不方便维护与开发