나는 튜토리얼을 진행하고 있으며 무엇을 배우고 있으며 설명 된대로 샘플 코드가 작동하는지 알고 있습니다. 그러나 나는 퍼즐에 한 조각을 놓치고 있습니다. 그리고 그것은 공장이 어떻게 "창조 할 것"인지 아는 것입니다. 그래서 나는 모든 것을 가르쳐야한다는 것을 이해하지 못한다고 생각합니다.이 모델 공장은 사용할 방법을 어떻게 알 수 있습니까?
연구를 시도하면서 나는 this article을 만났지 만, "상황을 알 수 있습니까?"라는 질문에 대해서는 상황이 약간 다르기 때문에 대답하지 않았습니다.
_modelFactory.Create (f)는 나를 혼란스럽게합니다. 여기
는 "쿼리"형 식품으로하고 modelFactory 말한다 때문에이 어떤 암시 적 연관이 있는가public class ModelFactory
{
public FoodModel Create(Food food)
{
return new FoodModel()
{ ... };
}
public MeasureModel Create(Measure measure)
{
return new MeasureModel()
{ ... };
}
}
만들고있다 모델 공장에서
_modelFactory = new ModelFactory();
...snip....
public IEnumerable<FoodModel> Get(bool includeMeasures = true)
{
IQueryable<Food> query;
if (includeMeasures)
{ query = _repo.GetAllFoodsWithMeasures(); }
else
{ query = _repo.GetAllFoods(); }
var results = query.OrderBy(f => f.Description).Select(f => _modelFactory.Create(f));
return results;
}
를 실행하는 코드입니다 오우, FoodModel을 사용할 것입니다. 왜냐하면 그것이 음식의 개체 표현이기 때문입니다. 이 라인에서
하지만 나에게는 마이크로 소프트의 마법이있다. ModelFactory를 인스턴스화합니다 ... 어떤 생성도 없습니다 ... 자동적으로 알고 있습니다. – GPGVM
예제 코드에'ModelFactory' 클래스에 두 개의'Create' 메소드가 있다는 것이 무슨 뜻인지 잘 모르겠습니다. 'Create'는 단지 메소드 이름이거나 생성자 나 특별한 것이 아닙니다. –