
自动化构建过程
|
67
多模块项目
虽然多模块项目是最不好被理解的(并且可能是最常被滥用的)概念,但如果正确部署,
它们可以变得很强大。当应用程序中明确定义了各个组件时,多模块构建是很有效的,
因为尽管组件之间接口定义明确、边界清晰,但它们一旦超过某些范围(例如父项目),
就无法提供更多的价值。因此,多模块项目允许你将这些组件与用户界面组件(例如
GUI
或
Web
应用程序)组合在一起,并且通过一个命令来构建整个系统。构建系统应该
能够确定此类应用程序的构建顺序,并且最后生成的组件和应用程序都可以使用相同的
版本标识符。
仔细权衡是否选择多模块项目
根据我们以往的经验(也在
Stack Overflow
上快速搜索了一下),多模块项目比普
通应用程序的复杂性更高。在你开始将应用程序划分为多模块之前,请先仔细权
衡一下 :使用模块化带来的好处,是否抵得过它增加的复杂性,以及必须使用指
定构建工具的潜在风险。
使用多代码库还是单代码库
无论如何组织代码,你的构建工具都应该能够构建项目。随着微服务架构的普及,人们
对使用单代码库还是多代码库来存储代码的争论越来越多。虽然这听起来类似前面对于
多模块项目的讨论,但是多模块项目总是存储在一个代码库中的,因为模块之间是有效
耦合的(以一种积极的方式)。但是,如果要创建由多个(或许多)微服务组成的应用程序,
那么就不太容易选择了。如果每个项目自己都有一个小的、版本独立的代码库,那么它
所依赖的其他代码也要这样做吗?
关于多代码库和单代码库的争论
有几个很好的在线资源,可以帮助你选择使用多代码库还是单代码库,但是在这 ...