项目模块化记事

首先解决三个问题:

  1. 模块粒度应该如何划分?
  2. 如何分层?
  3. 多团队如何协作?

颗粒度划分

对于 iOS面向对象编程开发模式来说,我们应该遵循以下五个原则,即solid原则

  • 单一功能原则:对象功能要单一, 不要在一个对象里添加很多功能
  • 开闭原则:扩展是开放的,修改是封闭的
  • 里氏替换原则:子类对象是可以替代基类对象的
  • 接口隔离原则:接口的用途要单一,不要在一个接口上根据不同的入参实现多个功能
  • 依赖反转原则:方法应该依赖抽象,不要依赖实例。iOS开发就是高层业务方法依赖于协议。

分层

  • 底层可以是与业务无关的基础组件,比如网络、存储等
  • 中间层一般是通用业务组件,比如账号、埋点、支付、购物车等
  • 最上层是迭代业务组件,跟新频率最高

组件化架构

一般分为协议式和中间者两种架构设计方案。

协议式架构设计主要采用的是协议式编程的思路:在编译层面使用协议定义规范,实现可在不同地方,从而达到分布管理和维护组件的目的。这种方式也遵循了依赖反转原则,

缺点:1.缺少统一调度层,难于集中管理;2.定义模式过于规范,从而使得架构的灵活性不够高。

中间者架构,采用中间者统一管理的方式,来控制App的整个生命周期中间件间的调用关系。同时,组件接口的设计也需要保持一致性,方便中间者统一调用。

解耦的精髓在于业务逻辑能够独立出来。所以,再考虑架构设计时,更多的还是需要在功能逻辑和组件划分上做到同级解耦,上下层依赖清晰,这样的结构才能使得上层组件易插拔,下层组件更稳固。

发布了39 篇原创文章 · 获赞 8 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/jancywen/article/details/92729817
今日推荐