Xcode工程组件化之路(2)------ 组件的拆分和引入

上一篇简单介绍了一下组件的作用和中间件的概述和选取。这篇主要讲组件的拆分和引入。

组件该怎么拆分呢?目前笔者采用底层+共有+业务的模块进行拆分。

1.底层模块就是例如蓝牙连接实例对象、底层网络交互模块、地图功能等,单独采用组件接入的方式。当底层模块开发完,基本上不用进行太大的更新和修改。

2.共有模块就是在各个模块间都能使用到的一些简单的功能集合。

比如CommonUI(公共基础自定义UI控件等)、BasicSet(基础定义、系统配置、宏定义等)、CommonFoundation(自定义基础类、safe类、Keychain、Log收集等)、CommonBle(底层蓝牙连接)、CommonKit(Category、基础base数据类型、基础Device、Error解析类、Logic逻辑类等)等,通过各个共有模块的分组件接入,其他衍生的业务组件依赖这些基础组件(可能依赖过个)进行处理。

3.业务模块就是各个表层的业务分类,包括不同产品Device模块、Main模块、Sport模块、个人设置模块、账号体系模块、登录体系模块等等等上层业务。

Xcode工程组件化之路(2)------ 组件的拆分和引入

上图为笔者简单的拆分组件模块 ,通过中间件Mediator来进行消息转发通信。根据不同项目和个人喜好,可以通过多种不通的组件拆分,只要结构清晰,耦合度低,方便管理和业务隔离,能达到组件化目的均可。

下一篇将继续介绍工程组件的pod和组件podspec文件的编写。