1 组件化的了解

1 组件化的了解

组件化

概念:讲一个单一的工程的项目,分解成为各个独立的组件,然后按照某一种方式,任意的组织成一个拥有完整业务逻辑的工程

优势

  • 组件的独立–> 独立编写,独立编译,独立运行,独立测试
  • 资源的重用–> 功能代码的复用
  • 高效的迭代–> 快速的增删模块

组件化的分裂

1 基础组件(基础的功能使用)

  • 基本的配置–>(1 常量 2 宏 等等)
  • 分类 —>(各种系统类的扩展)
  • 网络 —>网络(对AFN的封装 对SDWebImage的封装)
  • 工具 —>(一些常用的工具类,日期时间的处理,文件处理,设备信息等等)

2功能组件

  • 控件 --> (封装的控件,轮播图,弹出选择框等等,UI相关)
  • 功能 --> (音频处理,断点下载无UI相关展示)

3 业务组件

  • 业务线1
  • 业务线2
  • ……

总结:
功能组件和基础组件之间尽量不要产生项目依赖关系
业务组件和业务组件不宜产生依赖

组件以什么样的形式存在

  • 组件内部 --> 根据对应的设计模式划分文件夹结构
  • 组件形式 --> 每个组件形式都是以pod库形式的存在
  • 组件测试 --> 单独的测试工程

以怎么样的形式集成各个组件

以pods的形式安装各个组件远程私有库

组件之间是如何进行通信的

  • 披露公开的API
  • 通过中间件的中转

组件分离每个组建的难点

  • 就是解耦