【发布时间】:2012-11-07 17:17:39
【问题描述】:
我想确保我的项目不包含包之间不必要的依赖关系。例如,我想确保项目具有分层结构。 IE。模型低于一切,业务逻辑依赖于模型,视图依赖于业务逻辑和模型。每一层都放在自己的包中。
您能否推荐任何允许我指定这些约束并将它们作为持续集成的一部分进行检查的开源工具?
附:我知道我可以将项目分隔在单独的 Maven 模块中。不幸的是,我的真实案例比三层系统更复杂。如果我使用 maven 模块,我会有几十个相当小的模块。
【问题讨论】:
-
几十个小模块有什么问题?
-
@yegor256 我不想为每个包创建一个模块。恕我直言,这是矫枉过正。
-
在大量的小模块和每个包一个模块之间可能仍然是一个快乐的媒介。模块应该小到足以进行彻底测试,但又要大到足以包含一个逻辑单元。
-
@jordan002 是的,应该有。但是,maven 模块不允许我强制执行某些类型的约束。例如,某些包不应该从外部模块中使用。
标签: java maven architecture