需要获取ValueObjects DDD

时间:2014-06-05 14:42:13

标签: c# domain-driven-design

我正在开发一个在线预订系统,并且出现了令人困惑的事情,我不确定我是否在DDD方面“做得对”。

在我的预订系统中,我(目前)有一个AvailableSlot聚合根,但这感觉不对。 AvailableSlots本质上是价值对象,根据员工和服务类型计算,它们没有身份,只代表特定日期,时间和可用于特定服务的员工。

以下是我将如何检索一系列AvailableSlots

/// invokes web service to fetch all available slots calculated from employee, service and dateTime.
var availableSlots = await uow.AvailableSlots.GetAvailableSlotsAsync(employee, service, dateTime);

然后我可以使用它来安排预约(您只能安排在可用插槽上预约)。

var appointment = selectedSlot.ScheduleAppointment( );
uow.Appointments.Add(appointment);

uow.SaveChanges( );

这样做可以让我保持在域内紧密构建和预约约束的业务不变量。

我很难解释为什么AvailableSlot更类似于值对象,所以应该如此,但我仍然需要从后端Web服务获取此数据。我在这里错过了什么吗?或许另一个聚合根?包含AvailableSlots的集合。

0 个答案:

没有答案