Введите проекцию, имеет противоположное или это все еще проекция (или просто отображающийся)?

Это основано на моем предположении что, беря объект типа:

public class Fruit : IBasicFruit, IFruitDetails
{
    // IBasicFruit implementation
    public string name { get; set; }
    public string color { get; set; }

    // IFruitDetails implementation
    public string scientific_name { get; set; }
    public bool often_mistaken_for_vegetable { get; set; }
    public float average_grams { get; set; }
    public int century_domesticated { get; set; }
}

... и от него создающий объект типа:

public class BasicFruit : IBasicFruit
{
    public string name { get; set; }
    public string color { get; set; }
}

... известен как "проекция", или "проекция типа" (что проекция применяется не только к анонимным типам).

Теперь, скажем, я отправляю сериализированный BasicFruit от сервера до моего клиентского приложения, где некоторая очень сложная логика фермы выполняется на тех двух строках и затем ее передают обратно серверу, где ORM не знает BasicFruit введите, только Fruit тип объекта. Если я создаю новое Fruit основанный на объектах на моем BasicFruit объект (игнорирование свойств, которые не существуют в BasicFruit), таким образом, мой ORM может сохранить его, который является противоположностью проекции, потому что я иду от подмножества до надмножества, или это все еще считают проекцией, или это просто отображается?

Проекцию можно было считать формой отображения?

6
задан Jay 2 February 2010 в 20:38
поделиться