服务类应该是类图的一部分吗?

moo*_*von 1 java uml class-diagram class

比方说,我们想要建立一些像票务预订这样的系统(票务预订不是这里的关键,这只是一个例子)

所以我们有User类、Ticket类等

我们还有一个TicketService类,它提供bookTicket () cancelTicket () 等方法

在类图中,TicketService 应该包含还是不包含?

如果没有,bookTicket() 或 cancelTicket() 应该显示在类图上的何处,在 Ticket 类或 User 类中(因为用户创建了票证)

mus*_*zeo 5

这取决于你想代表什么。如果您希望在类图中忠实地表示您的代码,那么是的;如果您只是想解释业务域的逻辑(即域中的业务实体)并且您不希望混乱,那么可以删除服务类。这是基于主观/意见的,取决于您需要做什么。

如果您想避免使用服务类,但想用行为来表示域的逻辑,那么您可以简单地向 Ticket 类添加“book()”和“cancel()”操作。这将是面向对象的标准方法——即将行为(和数据)封装在负责它的对象内。