大厂常问iOS面试题--组件化篇

本文探讨了iOS组件化的益处,包括代码解耦、业务隔离和可维护性提升。重点分析了CTMediator相较于基于Router方案的优势,如避免内存常驻、降低维护成本,并能便捷传递各种类型参数。同时阐述了CTMediator组件化方案的核心组成部分,包括CTMediator中间件、模块Target和扩展。最后提及其他面试相关话题。
摘要由CSDN通过智能技术生成

1.组件化有什么好处?

  • 业务分层、解耦,使代码变得可维护;

  • 有效的拆分、组织日益庞大的工程代码,使工程目录变得可维护;

  • 便于各业务功能拆分、抽离,实现真正的功能复用;

  • 业务隔离,跨团队开发代码控制和版本风险控制的实现;

  • 模块化对代码的封装性、合理性都有一定的要求,提升开发同学的设计能力;

  • 在维护好各级组件的情况下,随意组合满足不同客户需求;(只需要将之前的多个业务组件模块在新的主App中进行组装即可快速迭代出下一个全新App)

2.你是如何组件化解耦的?

  • 分层

    基础功能组件:按功能分库,不涉及产品业务需求,跟库Library类似,通过良好的接口拱上层业务组件调用;不写入产品定制逻辑,通过扩展接口完成定制;

    基础UI组件:各个业务模块依赖使用,但需要保持好定制扩展的设计

    业务组件:业务功能间相对独立,相互间没有Model共享的依赖;业务之间的页面调用只能通过UIBus进行跳转;业务之间的逻辑Action调用只能通过服务提供;

  • 中间件:target-action,url-block,protocol-class

3.为什么CTMediator方案优于基于Router的方案?<

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值