Замена ViewModels на кортежи - PullRequest
0 голосов
/ 06 июля 2010

Я только начал работу над новым проектом, который в настоящее время содержит довольно много классов DTO ViewModel.

Мне интересно, будет ли полезно и даже хорошая практика заменить многие из этих DTO на Tuples ииспользовать это в качестве метода переноса множества объектов в мои представления.

Что вы думаете?Это правильное использование кортежа или я не в порядке?

Ответы [ 3 ]

2 голосов
/ 06 июля 2010

Обычно модели представления имеют связанные с ними метаданные, которые, помимо прочего, позволяют выполнять проверку и интегрируются с шаблонами редактора / отображения. Кортежи не кажутся уместными. Другим недостатком является то, что они менее четко выражают назначение каждого свойства в модели представления (Model.Item1, Model.Item2, ..., никто, кроме первоначального разработчика, не может понять этого, и если он я через несколько дней, даже он не сможет понять).

1 голос
/ 06 июля 2010

Одна из проблем, с которыми я сталкиваюсь при использовании Tuple, заключается в том, что по вашему мнению:

inherits="ViewPage<Tuple<Model1, Model2>>"

... и т. Д., Когда вы используете эти модели, вы должны получить к ним доступ как:

Model.Item1,
Model.Item2

... что не так очевидно, как использование красивой модели со строго типизированным представлением.

0 голосов
/ 10 ноября 2017

В C # 7 теперь вы можете называть элементы - приведенный ниже код в значительной степени является бесплатным картографом, который, я думаю, может заменить DTO, которым не нужно привязываться к ним.

    public (string first, string last, int age) GetTuple()
    {
        return ("John", "Connor", 1);
    }
...