架构宝典
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5 分工与组件化

分工是协作的前提,对提高质量和生产率有很大的帮助。微服务架构(MSA)也与之相通。微服务所倡导的“单一职责”,其实质也是在明确责任,消除歧义。亚当·斯密在《国富论》中细致地描述了分工(参见图1.3)。他认为,分工的起源是人的才能具有自然差异。分工促进劳动生产力的原因有三:第一,劳动者的技巧因专业而日益精进;第二,由一种工作转到另一种工作,通常要损失不少时间,有了分工,就可以避免这种损失;第三,许多简化劳动的机械被发明后,一个人能够做许多人的工作。

图1.3

从图1.3对制造别针的分工描述中可以体会到,分工可以带来高效率。在软件设计中划分模块、进行组件化也是同样的道理。无论是生产制造还是软件开发,很多基本道理都是相通的。