是否有可能(推荐)拥有与实际实现分离的纯api项目?

los*_*and 5 java maven

我被要求使用Maven为即将到来的应用程序创建项目布局.我们将要开发的第一件艺术品将是建筑.为了使开发人员能够尽可能轻松地工作,我有了将实际实现与API分开的想法(就像在OSGi环境中那样).

依赖项将API项目列为编译范围的依赖项,并且仅在运行时提供实现.

通过这种方法,我希望降低开发人员的复杂性,并限制他们使用经常发生变化的内部类.此外,可以隐藏传递依赖(例如,我不希望开发人员从前端调用DAO层......这应该只能从服务层看到).

是否有人将其付诸实践,它是如何实现的?你对此有何看法?

set*_*all 0

UML 让您可以通过这种方式进行建模,并且一些 UML 工具将基于该模型生成代码,理论上,这有助于弥合从 UML 到代码的差距。

Enterprise Architect 就是这样的工具之一。但这需要您的团队精通 UML 以及某些 UML 工具。