iOS 分层架构初探

这篇博客把分层架构讲的很形象: 三层架构(我的理解及详细分析)

为什么要分层

代码系统分层就好比管理分层一样,各司其职,优点非常多,对于软件后期的维护来说是十分有必要的。它的优点有:

  • 解耦

    上一层依赖于下一层,如果测试下一层没有问题,那么问题就只有可能发现在本层了,便于发现和改正BUG。体现了“高内聚,低耦合”的思想。

  • 分工明确

    各个层次分工明确,将一个复杂问题简单拆分了。

  • 便于维护

    各层间通过接口解耦,接口与实现分离,从而可以非常简单的替换掉实现,或者实际实现等。

  • 逻辑复用(代码复用)和劳动成本的减少

    分层的根本在于代码的复用和劳动成本的减少。分层的最理想化的结果是实现层与层之间的互不依赖的内部实现,所谓的即插即用。