多模块和单模块软件体系结构之间的区别是什么?每个的优点和缺点是什么?什么时候应该使用每一个,为什么?多模块和单模块设计之间的选择
3
A
回答
4
使用多个模块的主要优点是可以重复使用它们,而单个模块通常包含多个功能,不必相互关联,而且对于重用而言不切实际。这取决于项目的规模,但对于大型项目来说,多个模块带来更多优势。
多模块还提供了一个更容易更新和更改系统。如果你发现一个bug,你只需要更新包含bug的模块,而不是整个系统。
编译时间对于具有更多模块的系统来说也更好,因为不需要对它们进行编译,所有这些编译都需要进行小的更改(当然,使用足够智能的编译器,这对单模块程序来说不应该是个问题)。
测试是另一个问题 - 测试较小的模块可以减少错误数量,因为它们可以指向特定模块。
至于缺点,多个模块可能难以维护;如果它们存在的数量很多并且记录不够好,则依赖关系也可能是一项乏味的任务。
同样,这取决于项目的大小。
1
注意:这个答案最初由OP作为自我回答发布在问题主体中,原因是新用户的八小时自我回应限制。
从http://www.jetbrains.com/idea/webhelp/project.html:
根据不同的逻辑和功能要求的项目,您可以创建一个模块或一个多模块项目。
- 单模块项目最适合开发简单的应用程序。
- 多模块项目用于复杂任务:
- 创建复杂的逻辑结构。
- 为项目的各个部分提供单独的输出,例如部署多个JAR文件。
- 为项目的各个部分提供不同的SDK。
多模块项目给你重要的优势。打破你的项目分成若干独立的模块,您可以:项目之间
- 重用和共享的模块,它可以是实用类的集合是有用的。
- 单独构建和测试模块。
- 保持每个模块在其自己的版本控制下。
项目结构初始地被定义在项目创建,并且可以修改。例如,您可以创建单个模块项目,然后添加更多模块。
相关问题
- 1. 模块化设计和模块间参考
- 2. Dagger2多模块设计
- 3. knockoutjs为多个选项卡和模块化设计模式
- 4. 设计和规划模块
- 5. Gwt add模块(模块选择)
- 6. 模块化设计模式
- 7. GWT模块设计
- 8. 模块化设计
- 9. “传统contao模块”和(仅)“contao模块”之间的区别
- 10. 加载模块和初始化模块之间的区别?
- 11. 角度2模块和Javascript ES6模块之间的区别
- 12. ES6模块语法和Typescript模块语法之间的混淆
- 13. 主模块和相关模块之间的关系
- 14. Android Studio 3库模块和功能模块之间的区别
- 15. 选择模块为网站设计和内容
- 16. 单模块与多模块maven项目
- 17. 从多模块pom构建单模块
- 18. 多模块设置
- 19. Azure AD模块和MS Online模块之间有什么区别
- 20. 顶层模块和本地模块之间是否有区别?
- 21. 多模块maven原型可以设置为可选模块吗?
- 22. VHDL LUT模块的设计
- 23. verilog中的模块选择
- 24. jQuery的signalR选择模块?
- 25. 扩展和模块之间的区别?
- 26. Gradle和Maven之间的共享模块
- 27. wxPython,Threads和PostEvent之间的模块
- 28. 模块和封闭之间的区别
- 29. ZF2 - 模块之间的共享模型
- 30. 设计一个多模块项目
请不要在问题主体中写答案。相反,将您的答案转化为答案。这样,人们可以对问题的质量进行投票,然后单独回答,最终您可以接受答案。 – Pops
好的,谢谢,未来。我是一个新用户。 –
不是问题,我明白。尽管您现在可以编辑该编辑;你不必等待下一次。或者我可以为你做。 – Pops