在我的一些项目中,我使用双分派机制在运行时向我的域模块提供我的基础结构模块的“视图”(加强您的域:双分派模式)。我在上面所说的“模块”只是单独的 jar 文件,其中来自 service.jar->domain.jar 的依赖项仅在编译时强制执行。如果我将我的服务和域定义为“真正的”java 9 模块,我是否能够在 java-9 上使用它?
module domain
L Fee.java
L Payment recordPayment(double, BalanceCalculator)
L BalanceCalculator.java
module service
L BalanceCalculatorImpl.java // implements BalanceCalculator
L double calculate(Fee fee) //call fee.recordPayment(amount,this)