Il s'agit d'une question de style et de conception plutôt que de syntaxe.Vérification Null excessive dans les vues MVC
J'ai des modèles de domaine qui ont plusieurs propriétés de navigation (à défaut d'un meilleur terme). Donc, dans mes détails fortement typées voir des Foo
qui a une propriété de type Bar
Je pouvais faire ce qui suit:
<%: Foo.Bar.Name %>
Cependant, parfois Bar est nul, donc je me retrouve avec quelque chose comme:
<%: Foo.Bar == null ? String.Empty : Foo.Bar.Name %>
Dans d'autres cas, parce que la commodité des propriétés de navigation I pourrait faire encore plus de chaînage. L'inconvénient, cependant, est l'introduction de vérification plus nulle dans ma vue. Comme alternative, je pourrais faire toutes les vérifications nuls dans un ViewModel de sorte que j'ai passé quelque chose "propre" à la vue. Je cherche des idées ou des directives de bon sens pour éviter les vérifications nulles excessives dans mes vues.
P.S. J'utilise ASP.NET MVC, mais je pense que cette question peut être pertinente pour d'autres frameworks MVC.
Est-ce une bonne pratique? Serait-ce la seule raison d'utiliser un ViewModel, sinon mon modèle de domaine pur suffirait? – Larsenal
@Larsenal alors qu'il existe d'autres raisons d'utiliser un ViewModel, une très bonne raison pour laquelle je les utilise est de garder le code hors des vues. Le scénario que vous avez publié est celui qui en bénéficie, mais vous verrez certainement plus de scénarios dans lesquels les vues peuvent avoir moins de vérifications conditionnelles en déplaçant le code vers les modèles de vue. – eglasius
Une autre raison de l'utiliser est parce que c'est très efficace + simple en réduisant ce que vous autorisez à être posté sur vos contrôleurs. De plus, vous pouvez ajouter à asp.net certains attributs qui, autrement, seraient dans votre modèle original. Cela dit, dans les projets de très petite taille, je passe d'habitude entre l'utilisation de modèles et la visualisation de modèles, car parfois le modèle correspond à la facture. – eglasius