Skip to content

Latest commit

 

History

History
57 lines (35 loc) · 2.28 KB

组件化学习.md

File metadata and controls

57 lines (35 loc) · 2.28 KB

iOS组件化学习

  • 什么是组件化
  • 组件化要考虑哪些问题
  • 组件化方案有哪些,他们的场景有哪些
  • 实践一下
  • Swift有什么组件化方案

什么是组件化

组件化,从我看到的材料来看,并非舶来品,而是国内的特色

或许叫做业务模块化更能表达含义

App功能越加越多,项目会异常庞大,多人协同开发难度变大。组件化即为了解决该问题出现的

  • 说白了,就是想办法将业务功能划分多个模块,每个模块由单独的团队开发
  • 每个模块之间通过低耦合的方案进行通信,尽可能降低高耦合的情况(比如原始工程中可能直接引用另一个模块的类名的方式)

此处要进行模块化的业务,范围可大可小

  • 小到可以一些可复用的组件,如UI控件
  • 大到一些列完整的功能集合,如账号系统

组件化要考虑哪些问题

我这里尽量列出需要关注的问题:

现实开发当中这些问题经常困扰我们

  • 字符串硬编码导致易错
  • 使用字典传参导致数量类型不匹配问题

如何组件化

常见的组件化技术方案有:基于中介模式(Mediator)的方案和基于协议的方案

  • URL Router
    • 所有基于字符串的解耦方案其实都可以说是伪解耦,它们只是放弃了编译依赖,但是当代码变化之后,即便能够编译运行,逻辑仍然是错误的。

组件化与路由之间的关系

疑问

  1. 路由、target-action和阿里的behavior,有什么本质区别

参考