Mar*_*rco 7 java web-applications maven multi-module
我们正在使用不同的架构层构建一个小型应用程序,例如域,接口,基础架构和应用程序.这遵循洋葱DDD模型.现在我想知道将应用程序拆分为多模块maven项目是否有任何好处.据我所知,现在似乎使事情变得比需要的更困难.整个应用程序将作为单个WAR文件部署到Tomcat容器中.
car*_*ing 11
拆分您的应用程序对以下内容有意义:
当项目的某个部分需要具有新功能或错误修复时,您可以只关注该模块并仅运行测试.编译所有代码的一小部分并运行相关测试可加快您的工作.
您可以在不同项目中重用模块中的代码.我们假设您的项目包含一些编写良好的通用足够的邮件发送代码.如果您以后有另一个需要邮件发送功能的项目,您只需重新使用现有模块或在其上构建(在另一个模块中将其添加为依赖项).
从长远来看,易于维护.也许现在它似乎是一个小项目.在几个月内,事情可能看起来不同,然后你需要做更多的重构,将事物分成逻辑单元(模块).
概念清晰度(由Adriaan Koster添加).
关于WAR:您可以拥有一个汇编模块,它将所有相关模块放在一起并生成最终的WAR文件.
最初,这可能看起来更多,但从长远来看,模块化项目更容易使用和维护.大多数理智的开发人员更喜欢这种方法.
使用多个模块会强制您拥有依赖关系层次结构.您有一个独立的模块,不依赖于任何其他模块.你有另一个只依赖于那个.它可能看起来比允许任何东西依赖于任何其他东西更难,但这种方法会导致一堆混乱的依赖关系,以后很难修复.
如果您尝试遵循分层模型,我建议您将每个图层放在不同的模块中.这将确保您不会破坏模型.
归档时间: |
|
查看次数: |
3859 次 |
最近记录: |