在大型 Java/.Net Enterprise 项目中,是否每个开发人员都需要在其类路径/本地开发环境中拥有所有组件/库/依赖项才能构建它?
还是将它们分成更小的部分,可以单独构建(这样它们就不需要引用所有依赖项)?
换句话说:如果他们想运行整个应用程序,他们需要所有组件;但如果他们只运行应用程序的一个子集,他们将只需要相应的组件子集。
大型企业项目通常采用第一种方式还是第二种方式组织?
一个可能的组织是,如果您正在处理整个项目的一个模块,该模块是自包含的,但被其他模块引用(换句话说,依赖树中的叶节点)。
另一个组织是,如果您动态加载您使用的类,您可以在类路径中不包含任何类的情况下进行构建。要运行它,您的类路径只需要访问您实际加载的那些(可能有许多其他组成项目的不同部分,您不加载)。
这些是理论上的可能性;但是企业项目的标准做法是什么,在……好吧,在实践中?
我已将其扩展为包括 .Net,因为我认为那里会出现同样的问题(DLL 地狱?)