多模块和单模块软件架构有何区别?各有哪些优缺点?什么时候应该使用,为什么?
答案 0 :(得分:4)
使用多个模块的主要优点是可以重复使用它们,而单个模块通常包含多个功能,而不是彼此相关,并且对于重用是不切实际的。这取决于项目的规模,但对于大型项目,多个模块带来更多优势。
多个模块还可以更轻松地更新和更改系统。如果发现错误,您只需要更新包含错误的模块,而不是整个系统。
对于具有更多模块的系统,编译时间也更好,因为所有这些模块都需要针对小的更改进行编译(当然,对于单模块程序而言,这对于单模块程序来说不应该是一个问题)
测试是另一个问题 - 测试较小的模块可以减少错误的数量,因为它们可以精确定位到特定的模块。
至于缺点,多个模块可能难以维护;如果它们存在的数量很多并且记录不充分,那么遵循依赖性也可能是一项繁琐的工作。
同样,这取决于项目的规模。
答案 1 :(得分:1)
注意:由于新用户的8小时自我回答限制,此答案最初由OP发布为问题正文中的自我答案。
来自http://www.jetbrains.com/idea/webhelp/project.html:
根据项目的逻辑和功能要求,您可以创建单模块或多模块项目。
- 单模块项目最适合开发简单的应用程序。
- 多模块项目用于复杂任务:
- 创建复杂的逻辑结构。
- 为项目的各个部分提供单独的输出,例如,部署多个JAR文件。
- 为项目的各个部分提供不同的SDK。
多模块项目为您提供重要优势。将项目分解为多个独立模块,您可以:
- 在项目之间重用和共享模块,这对于实用程序类的集合非常有用。
- 单独构建和测试模块。
- 将每个模块保留在自己的版本控制之下。
项目结构最初是在项目创建时定义的,可以修改。例如,您可以创建单个模块项目,然后添加更多模块。