我有两个值对象Money和ExchangeRatio。我想使用ExchangeRatio将一个Money转换为另一个Money。在Value Object ExchangeRatio上建立一个转换行为是否可行: ExchangeRatio.Convert(Money)返回Money。 或者...
假设我们采用CQRS架构,其中包括命令(Commands)、领域模型(Domain Model)、领域事件(Domain Events)和读取模型数据传输对象(Read Model DTOs)。当然,在我们的领域模型中,我们可以使用值对象(Value Objects),但我的问题是,它们是否也...
我有一个实体,它有一个值对象,这个值对象又有另一个值对象。我的问题是,在更新实体以及其值对象时,具有父值对象的实体得到更新,但子值对象没有被更新。请注意,我使用了Entity Framework Core的最新版本2.1.0-rc1-final。这是父实体Employee:public cla...
我正在学习DDD,我目前正在跟随的教程是使用NHibernate实现的,但由于我的经验不足,我决定使用EF Core 2.1完成课程。 然而,我目前有些困惑:我有三个类 Customer 是一个实体和两个值对象(CustomerStatus和其中的值对象ExpirationDate)- 就像...
这是一个很长的问题,我将直接进入主题。下面是伪代码,更好地说明了问题。 数据库结构 用户(UserID,Name,LastName) 地址(AddressID,UserID,Street,City,State,ZipCode)=>与用户之间存在多对一关系 电话(PhoneID,User...
我是DDD的新手,正在努力理解一些概念。在您的领域中,如何确定哪些对象是实体对象和哪些对象是值对象,并且它们之间的处理方式有什么不同?
我理解,实体对象具有ID而值对象没有,但在最常见的例子中,你会发现人员实体与地址值对象相关联。相对于将地址属性保留在人员实体中,创建单独的地址对象有何优势呢?
最近我接触到了不可变对象的概念,我想知道控制状态访问的最佳实践。尽管面向对象的那部分大脑让我想在看到公共成员时退缩,但我认为像这样的东西没有技术问题:public class Foo { public final int x; public final int y; ...
创建聚合时,应该在聚合内部创建值对象,还是应该将已经创建的值对象传递给构造函数或工厂? public Booking(DateTime arrivalDate, DateTime departureDate) { this.ArrivalAndDepartureinforma...
当您从控制器中以字符串格式收到UI的参数时,您是直接将字符串传递给应用程序服务(或命令)吗? 还是,您会在控制器内部从这些字符串创建值对象?new Command(new SomeId("id"), Weight.create("80 kg"), new Date()) 或者new Comm...