Entity オブジェクトにリポジトリ インターフェイスを注入することは Persistance Igorance に違反しているのでしょうか。このように。インターフェースを使用しないことで明らかに問題が見えますが、インターフェースを使用すると本当に問題があるのでしょうか? 以下のコードは良いパターンですか、それとも悪いパターンですか?またその理由は?
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;
}
}
}