iOS 组件化方案

1、对业务模块的拆分,以及功能模块的拆分,达到解耦,不相互依赖。

1.业务组件依赖基础组件。
2.基础组件不可依赖业务组件。
3.业务组件间不可相互依赖。

2、如何实现组件化。

1、首先创建壳工程。
2、在壳工程内集成不同的功能模块以及业务模块。
3、使用cocoapods 管理各个模块。
4、使用JLRouter管理跳转。
5、使用runtime管理消息分发。
6、创建中间件,去管理A、B、C、D等不同组件之间的通信以及跳转。

基础组件库:
放最基础的工具类,Categories,Helpers,Resources,Utilites,不依赖业务,不会和业务牵扯。

功能组件库:
Vendors:即开发一次,以后都能快速集成的功能。

业务组件库:
Features:AlarmVC,APPCenter,BaseModel,BaseVC,BaseView,BoardVC,ContactsVC,HomeVC,Login,MineVC,NewHomeVC,NewsVC,NFC,TodoVC,Update,Warn

中间件(组件通讯):
各个业务组件拆分出来后,组件之间的通讯、传参。

CocoaPods远程私有库:
每个拆分出去的组件存在的形式都是以Pod的形式存在的,并能达到单独运行成功。

宿主工程:
宿主工程就是一个壳,在组件库中寻找这个工程所需要的组件,然后拿过来组装成一个App。

3、组件化能达到什么效果。

1、提升代码管理、并行开发效率、分支管理。
2、组件化解除耦合后,可以直接将某个组件单独提供给它人使用,各个组件像积木一样,相互组合起来,形成一个新的APP。

推荐阅读更多精彩内容