是否將持久存儲庫接口注入到實體對象中是否存在持久性問題?通過不使用接口,我清楚地看到一個問題,但使用接口時真的有問題嗎?代碼是低於一個好或壞的模式,爲什麼?這是一個ddd反模式嗎?
public class Contact
{
private readonly IAddressRepository _addressRepository;
public Contact(IAddressRepository addressRepository)
{
_addressRepository = addressRepository;
}
private IEnumerable<Address> _addressBook;
public IEnumerable<Address> AddressBook
{
get
{
if(_addressBook == null)
{
_addressBook = _addressRepository.GetAddresses(this.Id);
}
return _addressBook;
}
}
}
的代碼是一個純粹的例子,不基於任何實際的代碼,但我同意AddressRepository是一個壞榜樣 – terjetyl 2010-07-15 18:12:03
@JasonTrue,什麼是錯的地址爲一個聚合根?如果多個聯繫人共享相同的地址(例如,來自同一公司的沒有地址所有權的聯繫人),那麼您將如何建模?如果他們有獨特的身份,他們就不能成爲VO。 – smartcaveman 2012-09-10 18:52:07