2009-08-29 2 views
3

A video tutorial говорит, что я должен использовать привязку данных для размещения данных на своей веб-странице. Правильно ли это делать?Должен ли я использовать привязку данных для размещения данных на моей веб-странице?

Это неправильно делать. Разве не должно быть разделения проблем? Вид должен быть отделен от кода, который подключается к базе данных? В вышеупомянутом видео он подключается к базе данных, не проходя через уровень доступа к данным. Что относительно ведущего/контроллера? Похоже, мы полностью обходим эти слои, обойдя архитектуру.

+1

Все остальные вопросы получают ответы без издевательства над глупым названием :) – Sampson

+0

@ Shog9: Я предполагаю, что это было для меня ... извините. После редактирования Джонатана, чтобы сделать это более законно сформулированный вопрос, мой комментарий был лишним (и неверным). Для записи мой оригинальный комментарий был примерно таким: «Если это серьезный вопрос, он должен быть сформулирован как таковой». –

ответ

3

Важно понимать, что, когда Microsoft выпускает новую технологию пользовательского интерфейса, по крайней мере 2/3rds она предназначена для того, чтобы новичкам легко удавалось объединить очень простые двухуровневые демонстрационные приложения. Я не говорю, что это плохо. В конце концов, это помогает нам быстро освоить технологию. Однако, когда вы пишете подходящее приложение n-уровня, важно знать, какие биты технологии могут и не могут быть использованы.

Например, в ASP.NET WebForms, вы должны добровольно ограничивать себя следующим образом:

  • Не используйте управления источником данных для ObjectDataSource за исключением, и использовать только, что для связывания модели с видом ,
  • Не используйте средства проверки правильности для проверки элементов управления вводом. Вместо этого передайте все данные в Business Layer для проверки и просто отобразите полученные сообщения об ошибках на экране.
  • Не используйте встроенные функции сортировки/фильтрации/пейджинга GridView. Вместо этого реализуйте свой собственный механизм сортировки/фильтрации/подкачки в бизнес-слое.

Чтобы ответить на ваш первоначальный вопрос: да, привязка данных очень полезна, если вы привязываетесь к модели уровня представления, а не к реальному источнику данных.

+0

удивительный ответ. , – MedicineMan

1

Джонатан, вы думаете об ASP.NET MVC, тогда как этот учебник написан для ASP.NET (какие разработчики MVC любят ссылаться на ASP.NET Webforms). Взгляните на обучающие программы ASP.NET MVC здесь: http://www.asp.net/mvc/learn/

Помните, что хотя оба имеют ASP.NET в названии, они совершенно разные философии программирования. Webforms пытается имитировать формацию, основанную на событиях, как приложение Winform. MVC, с другой стороны, разделяет его на модели, представления и контроллеры, которые очень хорошо вписываются в цикл без учета состояния и запроса/ответа в Интернете.

+0

MedicineMan задал вопрос - и только потому, что рамки поощряют его, он не делает это правильно. – Shog9

0

Вы посмотрели ASP.NET MVC?

С помощью WebForms все, что вам нужно, легко сделать по коду.

+0

Да, WebForms позволяет легко быстро сбрасывать что-то, что работает прилично. Это здорово, если вы просто используете его для разработки небольшого сайта интрасети, который не требует или требует много времени.Однако, когда вы работаете над более крупным проектом с несколькими разработчиками, отсутствие разделения между HTML-представлением, логикой (код-сзади) и моделью базы данных, а также трудностью при написании модульных тестов в конечном итоге укусят вас прикладом, когда проект превышает определенный размер. –

+1

Согласовано. Хорошо использовать любой подход, который, по вашему мнению, подходит **, когда вы полностью осознаете последствия. **. В некоторых сценариях нет причин беспокоиться о таких вещах, как разделение проблем или автоматическая проверка, просто потому, что YAGNI или другие ограничения не позволяют улучшить дизайн. –