随着移动互联网的不断发展,很多程序代码量和业务越来越多,现有架构已经不适合公司业务的发展速度了,很多都面临着重构的问题。

在公司项目开发中,如果项目比较小,普通的单工程+MVC架构就可以满足大多数需求了。但是像淘宝、蘑菇街、微信这样的大型项目,原有的单工程架构就不足以满足架构需求了。

组件化简介

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

优点

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

缺点

  1. 增加开发人员的学习成本
  2. 增加了代码的冗余,组件化颗粒度越细,中间代码越多
  3. 增加了项目的复杂度,复杂度越高越容易出问题

组建划分

  1. 基础组件

基础配置(宏,常量),分类, 网络(AFNetworking, SDWebImage二次封装)、工具类(日期时间的处理,文件处理,设备处理)

  1. 功能组件

控件(弹幕,轮播器,选项卡);功能(断点续传,音频处理)

  1. 业务组件

业务线一,业务线二。