DDD:即使所有字段都为空,也始终创建 ValueObject
DDD: Always create ValueObject even with all fields null
场景
我的域不需要城市和街道字段。
我有一个 ValueObject
public class Address : ValueObject
{
public string City { get; private set; }
public string Street { get; private set; }
public Address(string city, string street)
{
City = city;
Street = street;
}
}
我有一个使用 ValueObject 的 Root 实体
public class MyRoot : RootEntity
{
public string Name { get; private set; }
public Address Address { get; private set; }
public MyRoot(string name, Address address)
{
Name = name;
Address = address; // TODO Create with null fields if address is null ?
}
}
问题
- 如果传入 null
new Address(null,null)
,我是否应该创建地址值对象?
- 一般来说,有创建 ValueObject 的最佳实践(始终、在请求时等)?
Should I create the Address ValueObject if is passed null new
Address(null,null)?
不,如果根对象没有要存储的地址,您应该将地址 属性 设置为空。
你的代码没有问题。
场景
我的域不需要城市和街道字段。
我有一个 ValueObject
public class Address : ValueObject
{
public string City { get; private set; }
public string Street { get; private set; }
public Address(string city, string street)
{
City = city;
Street = street;
}
}
我有一个使用 ValueObject 的 Root 实体
public class MyRoot : RootEntity
{
public string Name { get; private set; }
public Address Address { get; private set; }
public MyRoot(string name, Address address)
{
Name = name;
Address = address; // TODO Create with null fields if address is null ?
}
}
问题
- 如果传入 null
new Address(null,null)
,我是否应该创建地址值对象? - 一般来说,有创建 ValueObject 的最佳实践(始终、在请求时等)?
Should I create the Address ValueObject if is passed null new Address(null,null)?
不,如果根对象没有要存储的地址,您应该将地址 属性 设置为空。
你的代码没有问题。