首先什么是组件化:
是为了把功能封装成独立,可扩展,可复用的东西叫做组件,以项目中的某种功能为基准,这样不需要重复编写代码。
模块化:
以我的理解是把组件+逻辑封装成的功能,在一般的项目中,分为业务模块+基础模块
现在很多项目基本是以这个思路来开发,这样方便开发人员快速找到对应的功能和页面,分配任务。
但是真正能做到模块化项目很少,一般只是为了基于底部导航分的模块。
个人认为没有最好的组件方案,需要根据项目指定最适合的方案。
总结下流行的方案
MVC:底部导航划分文件夹业务模块 再细分基础 三方 网络 封装的业务组件,这也是入门就学习的项目架构搭建方式,当然这并不是没有可取之处,如果项目小并维护量底下 我认为完全可以采用这种方案。
MVVM+RAC :称得上是MVC进阶版,核心思路是创建ViewModel用来管理model和view,viewController层之间的数据及逻辑抽离,再用RAC进行数据绑定,少写很多数据需要实时更新的逻辑。
路由:这种方式主要是为了解决模块之间的跳转 抽离,一般约定url,参数进行页面数据的解析。这样方便多人开发并且通知内部外部跳转也是需要。
4.静态库:当项目变的很打逻辑很复杂时,参与人员会多,很容易导致代码任务重叠。并且为了加快新项目的开发迭代,所以可以把项目中的模块封装成静态库,每个成员负责自己的库开发,优点是能明确自己的任务,提高迁移项目的速度,使用协议进行通信,耦合性很低。 缺点也很明显: 相对于一般项目 时间,维护成本要多,而且对于模块之间的消息传递会复杂,全局的业务,功能处理麻烦。
未完待续。。。