2008-11-25 17 views
1

Pourquoi ne pas utiliser la classe partielle pour créer ViewModel?pourquoi pas la classe partielle pour construire le ViewModel dans le modèle MVVM?

Depuis la définition des classes ViewModel ont une définition des classes de données de datamodel, pourquoi ne pas essayer de réduire un peu de travail, étendre ou faire des classes partielles du modèle de données, en les complétant avec la commande, etc

+0

Voulez-vous définir le modèle et ViewModel dans la même classe? –

Répondre

3

Dans certains Dans certains cas, cela peut être utile, mais en général, ViewModel (ou PresentationModel) a un ensemble de problèmes qui embrouilleraient le reste du modèle. Par exemple, imaginez que vous ayez un modèle objet représentant un workflow de traitement des commandes (exemple préféré de tout le monde). Ce même modèle peut être sous-jacent à un WPF, à un site Web et peut-être même à d'autres services. Dans l'application WPF, il y aura des problèmes spécifiques à WPF pour la présentation. L'ajout de ces problèmes au modèle principal (même en tant que classes partielles) entraîne une violation de SRP. En fin de compte, cela masquerait l'intention du modèle et rendrait difficile pour les consommateurs du modèle de savoir quelles parties de ce modèle étaient essentielles et lesquelles étaient accessoires.

0

Je suis d'accord mais il y a aussi des extensions qui semblent aussi appartenir à une classe partielle. Par exemple, un champ calculé (disons un total de facture), utile sur le client et peut-être le viewmodel l'expose pour la liaison de données à l'interface utilisateur, mais c'est en réalité une propriété de l'entité. Il peut ne pas être représenté dans le modèle lui-même car il peut être dérivé des autres propriétés de l'entité, et mieux représenter l'OMI en utilisant une classe partielle pour étendre l'entité de domaine.