"service injection" 有软件工程 concept/pattern 吗?
Is there a software engineering concept/pattern for "service injection"?
我正在实现一个服务,该服务需要调用另一个服务以我不知道的方式计算结果。
假设我有以下场景:
我在我的代码中有一些地方,将 HTTP 请求调用到定义的端点,另一个服务返回定义的结果。现在,我不能规定如何计算结果,但是我可以定义我期望的结果输出数据类型。我想强调这一点,否则我只会在我的服务中实现计算逻辑。
然后我会向用户描述它:
You need to provide an HTTP service, with this exact endpoint, receiving these exact parameters, delivering this exact result type, but how you calculate the result is your job. I just need the URL of your service.
之后我的服务的用户将 URL 配置到他们的 HTTP 服务到我的服务中,这样我就可以向 {url}/defined-endpoint
.
发出 HTTP 请求
除了“服务注入”,我想不出另一个名字来描述这个概念,因为它与依赖注入有相似之处,只是在代码中你不提供对象实例,而是提供服务通过 http.
调用
我的问题是:这个概念是否有模式或更优雅地解决将计算外包给另一个服务的一般问题的替代方案?
您正在定义您的服务与其他服务之间的接口方式的合同。这意味着只要双方都尊重契约,融合和沟通就会成功。不确定“服务注入”是否是一个很好的术语。您没有在自己的服务中注入一些东西,您只是将计算委托给另一个服务,但您没有将服务的逻辑注入到您自己的服务中。这很好,因为这样你就可以很好地分离关注点和松散耦合。只要合同得到遵守,两种服务都可以根据需要以任何方式更改,并且集成仍然有效。
Is there a pattern for this concept or an alternative that more elegantly solves the general problem of outsourcing a calculation to another service?
这就是微服务生态系统中的运作方式。您有多个公开 API 的服务,这些 API 相互通信以作为一个整体提供更高阶的功能。
我正在实现一个服务,该服务需要调用另一个服务以我不知道的方式计算结果。
假设我有以下场景: 我在我的代码中有一些地方,将 HTTP 请求调用到定义的端点,另一个服务返回定义的结果。现在,我不能规定如何计算结果,但是我可以定义我期望的结果输出数据类型。我想强调这一点,否则我只会在我的服务中实现计算逻辑。
然后我会向用户描述它:
You need to provide an HTTP service, with this exact endpoint, receiving these exact parameters, delivering this exact result type, but how you calculate the result is your job. I just need the URL of your service.
之后我的服务的用户将 URL 配置到他们的 HTTP 服务到我的服务中,这样我就可以向 {url}/defined-endpoint
.
除了“服务注入”,我想不出另一个名字来描述这个概念,因为它与依赖注入有相似之处,只是在代码中你不提供对象实例,而是提供服务通过 http.
调用我的问题是:这个概念是否有模式或更优雅地解决将计算外包给另一个服务的一般问题的替代方案?
您正在定义您的服务与其他服务之间的接口方式的合同。这意味着只要双方都尊重契约,融合和沟通就会成功。不确定“服务注入”是否是一个很好的术语。您没有在自己的服务中注入一些东西,您只是将计算委托给另一个服务,但您没有将服务的逻辑注入到您自己的服务中。这很好,因为这样你就可以很好地分离关注点和松散耦合。只要合同得到遵守,两种服务都可以根据需要以任何方式更改,并且集成仍然有效。
Is there a pattern for this concept or an alternative that more elegantly solves the general problem of outsourcing a calculation to another service?
这就是微服务生态系统中的运作方式。您有多个公开 API 的服务,这些 API 相互通信以作为一个整体提供更高阶的功能。