Является ли HTML-помощник местом для бизнес-логики? - PullRequest
2 голосов
/ 07 августа 2010

Я задавал этот вопрос ранее о бизнес-логике и логике представления, и это заставило меня задуматься ... Мне кажется, легче заметить сомнительную практику при взгляде на код в представлении, потому что я автоматически подозреваю, когдаЯ вижу это.Обычно это нормально, потому что это логика представления, но я всегда стараюсь смотреть поближе.

Но я не выгляжу так близко, когда это в помощнике HTML.На самом деле, я знаю, что делал это раньше, и я сказал другим, чтобы они перенесли бизнес-логику в помощника.Но так ли это?

Теперь я думаю, что это не так ... Я думаю, что работа помощника такая же, как работа представления.Только презентация.Что вы, ребята, думаете?

Ответы [ 4 ]

13 голосов
/ 07 августа 2010

HtmlHelper должен заботиться только о выводе соответствующего html в ваше представление и не должен знать никаких бизнес-правил.Это должно быть сделано на уровне вашего бизнес-уровня / модели домена.

Вопрос, который вам нужно задать себе: «Если бы я вынул HtmlHelper из текущего приложения и поместил его в другое приложение MVC, может липовторно использовать без изменений?Если ответ «нет», есть большая вероятность, что он знает слишком много:)

1 голос
/ 07 августа 2010

Я думаю, что вам лучше поместить свою бизнес-логику в модель вашего домена или в сервисы. Таким образом, он будет намного более тестируемым и пригодным для повторного использования

0 голосов
/ 07 августа 2010

Все ваши HTMLHelpers должны позволять переноситься на другую сборку и использоваться в вашей организации:)

0 голосов
/ 07 августа 2010

Не желая казаться очевидным, HTML в HTMLHelper является большой подсказкой относительно того факта, что этот компонент ориентирован на презентацию.Я ожидал бы найти здесь не бизнес-логику, а чисто HTML-функциональность (что, вероятно, можно было бы повторно использовать в других проектах?)

...