有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (1) 个答案

  1. # 1 楼答案

    服务是捆绑包之间的交汇点。通常,捆绑包依赖于多个服务,并提供0个或更多服务。由于服务只指定合同,所以您只依赖合同。通过这种方式,您可以将实际的依赖项(契约)与这些依赖项的提供者(捆绑包)分开

    您会发现,随着时间的推移,您的软件变得更加稳定,因为它不会受到运行时环境中各种变化的影响:重构包、不同的实现、不同的配置。您应该将服务视为体系结构的枢纽

    也就是说,你不会被迫使用服务。Bundle可以导入其他Bundle的类,并向其他Bundle提供类

    那么什么时候使用服务呢?通常,服务是一种抽象:日志服务、事件管理服务、地理服务等等。你知道它应该为你做什么,但你对细节不感兴趣。一般来说,服务可以以不同的方式实现

    如果API和实现合二为一,那么它就不是服务。像ASM(字节码工程)或Guava这样的库不是服务,因为API是实现,两个库都不保持状态