- 什么是组件化
- 组件化要考虑哪些问题
- 组件化方案有哪些,他们的场景有哪些
- 实践一下
- Swift有什么组件化方案
组件化,从我看到的材料来看,并非舶来品,而是国内的特色
或许叫做业务模块化更能表达含义
App功能越加越多,项目会异常庞大,多人协同开发难度变大。组件化即为了解决该问题出现的
- 说白了,就是想办法将业务功能划分多个模块,每个模块由单独的团队开发
- 每个模块之间通过低耦合的方案进行通信,尽可能降低高耦合的情况(比如原始工程中可能直接引用另一个模块的类名的方式)
此处要进行模块化的业务,范围可大可小
- 小到可以一些可复用的组件,如UI控件
- 大到一些列完整的功能集合,如账号系统
我这里尽量列出需要关注的问题:
现实开发当中这些问题经常困扰我们
- 字符串硬编码导致易错
- 使用字典传参导致数量类型不匹配问题
常见的组件化技术方案有:基于中介模式(Mediator)的方案和基于协议的方案
- URL Router
- 所有基于字符串的解耦方案其实都可以说是伪解耦,它们只是放弃了编译依赖,但是当代码变化之后,即便能够编译运行,逻辑仍然是错误的。
- 路由、target-action和阿里的behavior,有什么本质区别