iOS组件化

1.是否需要组件化

为什么需要组件化

  • 模块间解耦
  • 模块重用
  • 提高团队协作开发效率:两个业务线以上。
  • 便于单元测试

哪些项目不需要组件化

  • 项目较小,模块之间交互简单、耦合少
  • 模块没有被多个外部模块引用,只是一个简单的小模块
  • 模块不需要重用,代码也很少被修改
  • 团队规模小

组件化的方案 

CocoaPod

Target-Target

组件生命周期的管理

TODO:

GitHub - DevDragonLi/ZDModuleKit: ZDModuleKit:组件生命周期管理,解决项目组件化解耦宿主工程派分事件

TODO:需要详细看和分析。

扩展:

iOS组件化(二)模块生命周期独立化

组件通讯方案(中间件)  

        GitHub - DevDragonLi/ProtocolServiceKit: iOS组件通信中间件(Protocol Service),Adapter Swift/Objective-C

        1.URL Router:

优点:方案成熟,极高的动态性:

        2.Target-Action

       修改,已经有Swift版本,CTMediator

        3. Protocol-Class

        是url的优化版;

        https://github.com/alibaba/BeeHive/blob/master/README-CN.md        

模块化

七猫 iOS 组件化实践

整体的架构遵循的基本原则

  1. 越底层越稳定。
  2. 上层依赖下层,下层不能反向依赖上层
  3. 同层组件尽量不要相互依赖,除了业务组件通过路由进行通信
  4. 业务组件尽量功能内聚,减少跨组件的交互,可以适当容忍代码上的重复以避免不必要的耦合。

  

iOS端组件化整套技术方案开篇概述【1】_哔哩哔哩_bilibili

多仓库管理:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值