编程中的服务class是什么?

What is the service class in programming?

我总是看到一些名为 "ClassNameService" 的 类,逻辑上有什么区别?这些服务的目标是什么 类?

一般来说,可能存在由服务控制的域对象层次结构。如果这些域对象只是数据占位符,没有任何行为,那么面向对象编程就不是这样了。

我们这里所拥有的就是 Martin Fowler 所说的 Anemic Domain Model

更常见的是,在 OOP 中,一组域对象具有其交互形成业务逻辑的行为。此逻辑又由 Service.

封装

此类服务是有状态的,其状态由这些域对象组成。 服务也可以是无状态并提供自给自足的功能。

想象一下,如果你愿意的话,一个非常简单的计算器 API。

一个 HTTP 请求被发送到您的应用程序,然后应用程序使用 API 执行数据提取和一些复杂的计算。应用端点然后 returns 包含计算数据的 HTTP 响应 SOAP/REST/etc。留言。

收到响应后,应将其返回给发送原始请求的客户端。

您不想强迫您的客户端手动调用输入的计算和转换。相反,您只想向他们提供一个 服务 API,它封装了这个逻辑并 returns 给他们预期的结果。

对于 Spring 应用程序,您有 Spring 注释 @Service