Сколько логики позволяется в ASP.NET представления MVC?

Альтернативным для пользовательского типа может быть общее расширение, которое добавляет ключ и значение, если не найден:

public static V getValue<K, V>(this IDictionary<K, V> d, K key) where V : new() {
    V v; if (!d.TryGetValue(key, out v)) { v = new V(); d.Add(key, v); } return v; } 

Пример использования:

var d = new Dictionary<int, LinkedList<int>>();
d.getValue(1).AddLast(2);
32
задан Edward Tanguay 14 January 2009 в 14:40
поделиться

5 ответов

Это зависит от причины логики. Если логика выбирает, альтернативная презентация на основе некоторого свойства передала ей контроллером, она, вероятно, в порядке. Это позволяет Вам некоторое повторное использование представления. Вместо того, чтобы иметь необходимость воссоздать (и повторение) все представление для каждого пользовательского полномочия, можно передать в некоторых данных, которые позволяют представлению быть настроенным на основе этого полномочия.

я думаю об этом как о прагматическом балансе между идеализированным MVC, и строгое осуществление DRY (не повторяйте себя). В некоторых ситуациях более мудро нарушить один или другой, если Вы не можете достигнуть обоих легко. В случае, где ясно модель и основное представление являются тем же, помещая немного логики в представление для хранения представлений DRY, разумно.

39
ответ дан 27 November 2019 в 21:00
поделиться

если логика принадлежит формату представления и не приводит к изменениям в объектах или данных, то я думаю, что это в порядке в представлении.

3
ответ дан 27 November 2019 в 21:00
поделиться

Вот другой способ думать об этом. Логика представления входит в представление. Логика обработки бизнеса входит в контроллер, и подтверждение правильности данных входит в модель. Но что идет, где должно в конечном счете быть руководство и не религия:)

1
ответ дан 27 November 2019 в 21:00
поделиться

42.

Просто ребячество :-)

нет никакого ответа набора на это, хотя хорошее разделение проблем является общепринятой лучшей практикой. Дебаты вокруг этого могут быть довольно бесконечными, и знание правильного способа сделать, это для Вашего конкретного проекта идет с опытом, я думаю и способность заметить "запах кода" или вещи, которые не чувствуют себя хорошо.

1
ответ дан 27 November 2019 в 21:00
поделиться

Пока логика в представлении для презентации (Вы могли поместить его в код позади файла, если Вам не нравится он в файле разметки), затем, это в порядке. В Вашем примере код / логика для выбора определенной части представления, которая в порядке. Презентации позволяют иметь логику, это не должен быть просто HTML.

1
ответ дан 27 November 2019 в 21:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: