【问题标题】:which phase is configuration phase in java program execution?java程序执行中的配置阶段是哪个阶段?
【发布时间】:2021-05-13 01:02:07
【问题描述】:

Martin Fowler 在他的企业应用架构模式一书中提到了配置时间,同时解释了网关和服务存根。

您可以在配置时使用 Plugin(499) 在真实服务和存根之间切换。

我想了解什么是 Java 中的配置阶段。

【问题讨论】:

  • 不记得阶段名称,但这是您将代码安装到其运行时环境(开发、测试、产品...)的阶段。我不确定这是否是一个专用阶段,或者只是维护运行时环境的“操作”阶段,至少对于生产而言。
  • 在任何运行时环境中安装代码是否会成为 java 运行时的一部分?配置阶段是 java 运行时的一部分,我强烈感觉但不确定。
  • 您对实际代码示例有什么具体问题吗? Java 运行时中没有这样的“配置阶段”。也许有些框架有这个概念?

标签: java design-patterns architecture gateway


【解决方案1】:

如果您熟悉依赖注入,配置时间是在运行时选择、实例化和连接依赖项的阶段。避免硬编码(编译时)依赖允许应用部署在不同的环境中,而无需重新编译。

许多设计模式可用于在运行时初始化应用程序的配置,其中之一是 Fowler 引用的插件模式。在第 499 页,它的目的被陈述为,

在配置而不是编译期间链接类。

因此配置时间与编译时间形成对比,即它是应用程序运行时的一部分,特别是依赖关系连接在一起的初始阶段。一个普遍存在的配置案例是测试:您在生产中需要一个真实的数据库连接,但内存数据库足以进行测试。在某些时候,您的应用程序必须确定要建立哪个连接,并提供对该连接到某个服务的引用。这是配置阶段。

您可以在配置时使用插件在真实数据库和存根之间切换。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    • 2019-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    相关资源
    最近更新 更多