问题描述
比方说, 我们要构建诸如机票预订之类的系统(机票预订不是这里的关键,它只是一个示例)
所以我们有一个 User 类, Ticket 类等等
我们还有一个 TicketService 类,该类提供了 bookTicket () cancelTicket ()等方法
在类图中,是否应该包含TicketService?
如果没有,则应该在类图中显示bookTicket()或cancelTicket()的位置, 在票证类或用户类中(因为用户创建了票证)
解决方法
这取决于您要代表的内容。如果要在类图中忠实地表示代码,请是;如果您只是想解释业务域(即该域中的业务实体)的逻辑,而又不想弄乱,那么可以 no 删除服务类。这是基于主观/观点的,并且取决于您需要执行的操作。
如果要避免使用服务类,但希望通过行为来表示域的逻辑,则可以简单地向Ticket类添加“ book()”和“ cancel()”操作。这将是面向对象的标准方法-即将行为(和数据)封装在负责该行为的对象中。