MVVM Héritage Avec les Modèles de Vue

Je me demande comment aborder l'héritage avec les Modèles de Vue dans le pattern MVVM. Dans mon application j'ai un Modèle de Données qui ressemble à la suivante:

class CustomObject
{
    public string Title { get; set; }
}

class CustomItem : CustomObject
{
    public string Description { get; set; }
}

class CustomProduct : CustomItem
{
    public double Price { get; set; }
}

Dans mon application j'ai une classe ViewModelBase puis allait avoir le point de Vue suivant les Modèles:

  • CustomObjectViewModel
  • CustomItemViewModel
  • CustomProductViewModel

Un accidenté de la mise en œuvre de la CustomObjectViewModel devrait ressembler à ceci:

class CustomObjectViewModel : ViewModelBase
{
    private readonly CustomObject _customObject;

    public CustomObjectViewModel( CustomObject customObject )
    {
        _customObject = customObject;
    }

    public string Title
    {
        //implementation excluded for brevity
    }
}

Il semble logique pour moi que mon point de Vue, les Modèles se prolonger dans la même manière que mon Modèle n' (CustomItemViewModel s'étend CustomObjectViewModel et ainsi de suite). Cependant, j'ai remarqué qu'à mesure que je descends de l'arbre d'héritage je vais être en ajoutant des références supplémentaires pour le même objet. Cela me semble excessif pour moi et je me demandais comment aborder ce problème et si il était possible de faire beaucoup plus propre.

OriginalL'auteur Richard McGuire | 2009-06-10