iOS模块化架构实践(一)

931 阅读1分钟

什么是模块化

模块化就是将一个复杂的App 按照不同的功能模块进行拆解,细化成一个个相互独立的子功能模块。 然后通过组装来实现复杂的业务流程。

为什么要模块化

老板1:我们明天要新开个项目。项目很简单,就是把我们App中的热销商品这块拿出来独立成一个新的项目。给你们一天时间。
老板2: 我们A app中的这个好友推荐这个挺好的。我要在另一个B app 上。
老板3: 我们公司要为双11 活动准备一个版本,现在需要开发。目前的节奏不要打乱,分出来2个人为app 做别的新需求。

开发a: 我刚才写了一个超屌的算法,在「path」 这里,你们看看你们能用到不。
开发b:你怎么建了个文件叫[GoodsModel] 啊,我也写了一个。靠。你换个名。
…………

模块化的优点

  1. 降低耦合
  2. 多人合作开发时,降低代码间相互影响
  3. 提高代码复用率,跨项目,跨模块
  4. 模块易维护,便于进行unit test

如何模块化

在iOS 实际开发过程中,我们一般把业务划分为基础功能模块和业务模块,

基础功能模块一般包含:

  • Foundation:一般存放公用方法,函数,项目中环境配置,等等。
  • Widget:UI 层,
  • Service:网络层
  • Navigation:路由跳转

等。

功能模块:拿一般购物类app 来说:

  • 登录注册
  • 商品列表
  • 商品详情
  • 搜索
  • 购物车
  • 用户信息 等。

iOS 中我们一般通过 Cocoapods 的方式来管理