服务对象的定义是什么?

2022-09-01 10:54:53

我一直在使用PHP。

但最近我被分配了一些使用Java的工作。在PHP中,我曾经做过很多单例对象,但这种模式在Java中的含义与在PHP中的含义不同。

所以我想去一个实用程序类(一个具有静态方法的类),但我的主管不喜欢这种类,并要求我去服务对象。所以我的猜测是,服务对象只是一个带有构造函数的类,该构造函数实现了一些公共方法......

我说的对吗?


答案 1

领域驱动设计将服务定义为:

SERVICE 是作为接口提供的操作,该接口在模型中独立存在,无需封装状态...[第105页]

是的,它是一个具有公共方法的类,但除此之外,它还实现了一个公开这些方法的接口。服务的核心是接口 - 实现它的类只是一个实现细节。


答案 2

我发现了服务对象的另一个定义,而不是一个被描述为具体类的接口,这些类即将通过接口设置的API定义提供特定服务。

关于微服务>链接定义的文章:

3:许多面向对象的设计人员(包括我们自己)在“域驱动设计”意义上使用术语“服务对象”来表示执行未绑定到实体的重要过程的对象。这与我们在本文中使用“服务”的方式不同。可悲的是,术语“服务”具有两种含义,我们必须与多义词一起生活。

我在这里理解的不是技术方面,比如将其定义为“界面”,而是它所描述的设计概念。我也理解一个类的简单领域,就像它的责任一样。因此,如果您正在开发Web应用程序,则可能有一个服务对象,该对象是.控制器调用服务以实际处理安全性(域)特定的服务。service objectSecurityServiceSecurityController