erança @VVM com modelos de exibição
Estou pensando em como abordar a herança com os Modelos de Visualização no padrão MVVM. No meu aplicativo, tenho um modelo de dados semelhante ao seguinte:
class CustomObject
{
public string Title { get; set; }
}
class CustomItem : CustomObject
{
public string Description { get; set; }
}
class CustomProduct : CustomItem
{
public double Price { get; set; }
}
Na minha aplicação, tenho uma classe ViewModelBase e, em seguida, apresentava os seguintes modelos de exibição:
CustomObjectViewModel CustomItemViewModel CustomProductViewModelUma implementação aproximada do CustomObjectViewModel seria semelhante ao seguinte:
class CustomObjectViewModel : ViewModelBase
{
private readonly CustomObject _customObject;
public CustomObjectViewModel( CustomObject customObject )
{
_customObject = customObject;
}
public string Title
{
// implementation excluded for brevity
}
}
Parece lógico para mim que meus modelos de exibição se estendam da mesma maneira que meu modelo (CustomItemViewModel estende CustomObjectViewModel e assim por diante). No entanto, notei que, ao descer a árvore de herança, adicionarei referências adicionais ao mesmo objeto. Isso me parece excessivo e fiquei imaginando como abordar esse problema e se seria possível torná-lo muito mais limp