0
Deall全部,这个实现是否工作?
我正在设计一个使用DDD的车辆登记系统。它需要存档所有车辆的注册,以便车辆在其整个使用期间的注册可以很容易阅读。
要实现这一要求,我会简单地把“注册” S作为在车辆的集合,如下图所示:
//The Aggregation Root
public class Vehicle
{
GUID id;
List<Registration> registrations_;
......
public Vehicle() { ..... }
...
}
//The Value Object
public class Registration
{
Vehicle vehicle_;
decimal amount_;
......
//The calendar interval for a single registration.
Period period_;
public Registration() { .... }
}
任何人可以在此实现是否真正符合上文亲切评论上述要求?需要改进吗?
数据将通过NHibernate或EF使用代码优先方法在SQL Server 2008中持久化!
谢谢!
Nathan
这将是很好的一些使用场景的更多细节。你能否解释为什么你选择将'Registration'作为一个值对象? –
感谢您的评论,汤米!一种使用场景是,用户在档案中搜索车辆,并用其许可证号码进行搜索,然后获取该车辆在时间线上显示的注册历史记录,这可以使用Silverlight实施。 **注册**是一个实体,因为每个注册必须被唯一标识并且不可变!对不起,错误! – NathanL
糟糕! **注册**是可变的! – NathanL