ConsumerModel
이 있다고합시다. ConsumerModel
에는 많은 모델 속성이 있고 하나는 AddressModel
의 목록입니다. 이 Address 속성은 ConsumerModel이있는 모든 곳에서 사용되지 않기 때문에 느슨하게로드되기를 원합니다. 이 주소는 소비자 주소를 표시하고 변경할 수있는 AddressViewModel
에서만 사용됩니다.모델 또는 ViewModel이 모델 속성의 지연로드를 처리해야합니까?
ConsumerModel
또는 AddressViewModel
의 AddressModels을 누가로드 처리합니까?
또는 소비자의 Addreses 목록을 분리하고 AddressViewModel
내에서 별도의 속성으로 처리하는 것과 같은 유형의 제안 된 대체 디자인이 있습니까?
public class ConsumerModel : IModel
{
private List<AddressModel> _addresses;
public List<AddressModel> Addresses
{
get;
set;
}
}
왜 모델 라이브러리에 데이터를 가져 오는 WCF 서비스에 대한 참조가 포함되어 있지 않은지 확실하지 않은 부분이 있습니다. ViewModel 라이브러리 만 수행합니다. 모델에 데이터 인스턴스화를 추가하면 해당 라이브러리에 대한 WCF 서비스에 대한 참조를 추가해야합니다. 모델 라이브러리는 WCF 서비스 내에서 사용되기 때문에 의도적으로 WCF 서비스에 대한 참조없이 남아 있습니다.이 참조를 추가하면 순환 참조가 생성됩니다. – Rachel
@Rachel - 저는 항상 데이터 액세스를 위해 세 번째 라이브러리를 사용했습니다. ViewModel에서 참조를 사용하는 대신 DataLibrary (웹 서비스에 대한 액세스를 보유/제어)에 대한 참조를 사용합니다. DataLibrary에는 ViewModel과 Model 모두에 독립적으로 액세스 할 수있는 내 사용자 정의 데이터 액세스 개체가 포함되어 있습니다. –
그래도 실제로는 별도의 데이터 액세스 라이브러리를 사용하고 있지만 문제를 단순화하려고했습니다. 따라서 귀하의 ViewModel과 모델 모두 데이터를 가져올 수있는 액세스 권한이 있습니까? 저장 및 추가/삭제를 위해 데이터 및 VM을 가져 오는 모델? – Rachel