算表这是编制公
在本例中我们定义了模块该模块需要许多标准模块和第三方模块导出用于处理数据的并通过服务提供实现日志记录需要传递导出使用提供和该指令需要传递确保任何依赖的模块自动获得对的访问权限。服务的定义服务是一个接口或抽象类服务实现是实现该接口或继承该抽象类的具体类。要声明服务及其实现请在文件中使用和指令。假设我们有一个表示服务的和一个表示该服务的实现的类公共接口服务接口无效执行包导入服务已执行。现在如果我们有一个提供此服务的模块它的可能如下所示提供和想要使用此服务的模块必须在其文件中使用指令来声明它。
假设有一个模块使用此服务使用在运行时该模块可以使用动态发现和使用服务实现。例如模块可以运行以下代码来 中英数据 公共类公共静态示例货币转换服务例如有一个模块它提供了用于转换货币的接口。我们被告知我们需要确保该接口的实现可以由不同的模块提供而无需更改服务使用的模块的代码。在模块中我们将定义接口公共接口在该模块的中我们声明它使用服务使用现在假设我们有另一个模块提供此接口的实现。在此模块中我们定义类导入实现货币转换在其中我们声明该模块使用类提供服务的实现提供和当应用程序启动时使用的模块可以。
https://lh7-us.googleusercontent.com/LOUbPg1PJc9IQU5ODvjGFnLZTwXz_gx5AGfr5Ym5OdaejAT96ivdhgZZ2JS-FOYfKExNLmW4T_oPzFpuDQJlb0qfjNZlRXA1FoXyyqvJ_99vvCcrXWfN_IUHlQhNeBFSlfzn3sYGinAnRDN74D9rIZA
获得服务实现并使用它而无需知道哪个类提供它。这是使用完成的转换器双结果美元欧元转换后结果这种方法允许您添加新的实现而无需更改使用该服务的代码。构建和运行首先在每个应用程序模块的根目录中创建一个文件。该文件必须包含有关模块的信息包括其需求导出使用和提供服务。我们使用命令指定模块的路径或以及源来指定目标目录。模块的示例命令这会将模块编译到目录中。编译完成后我们使用命令创建一个模块化的文件。使用参数和文件的路径指定模块的名称。这将在文件夹中创建一个模块化。运行使用模块化的应用程序时必须使用或参数指定模块的路径。
頁:
[1]