组件化学习01

简介

组件化将我们这个一个但一的工程分解为各个组件,然后按照某种方式任意组织成为一个拥有完整业务逻辑的工程。

原因

  1. 耦合性严重
  2. 测试不独立
  3. 编译速度慢
  4. 设计模式的冲突

组件化的优势

  1. 组件的独立性
  2. 资源重用
  3. 高效迭代
  4. 配合我们二进制,加快项目的编译速度

组件化应该考虑的问题

1. 组件的划分

  • 基础组件
  • 基础配置(宏,常量), 分类,网络(AFN, SDW二次封装)、工具类(日期时间的处理, 文件处理, 设备处理)
  • 功能组件
  • 控件(弹幕,轮播器,选项卡);功能(断点续传,音频处理)
  • 业务组件
  • 业务线一, 业务线二。

组件间的关系

组件化学习01_第1张图片
这里写图片描述

组件间的通讯

组件化学习01_第2张图片
这里写图片描述

组件化的难点-解耦

最快的方式就是将需要用到的代码直接copy到需要的地方(eg:或许屏幕的宽高的代码)

组件内部依赖我们其他的某个公共的功能

我们可以使用block或者代理将实现的方式抛出来,我们就可以有更多地主动权

组件化学习01_第3张图片
这里写图片描述

你可能感兴趣的:(组件化学习01)