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。
网友评论