Когда я должен быть осторожной привязкой данных использования в.NET?

Я только что начал работать над малочисленной командой программистов.NET приблизительно месяц назад и недавно вошел в обсуждение с нашим руководителем группы относительно того, почему мы не используем привязку данных вообще в нашем коде. Каждый раз, когда мы работаем с сеткой данных, мы выполняем итерации через таблицу данных и заполняем строку сетки строкой; код обычно выглядит примерно так:

Dim dt as DataTable = FuncLib.GetData("spGetTheData ...")
Dim i As Integer

For i = 0 To dt.Rows.Length - 1 '(not sure why we do not use a for each here)'
  gridRow = grid.Rows.Add()
  gridRow(constantProductID).Value = dt("ProductID").Value
  gridRow(constantProductDesc).Value = dt("ProductDescription").Value
Next

'(I am probably missing something in the code, but that is basically it)'

Наш руководитель группы говорил, что был записан с помощью привязки данных при работе со средствами управления Sheridan Grid, VB6 и наборами записей ADO назад в девяностых. Он не уверен, какова точная проблема была, но он помнит, что привязка не работала как ожидалось и вызвала его некоторые основные проблемы. С тех пор они не доверяли привязке данных и загружают данные для всех их средств управления вручную.

Причина разговор даже подошел, состояла в том, потому что я нашел, что привязка данных была очень проста и действительно любил разделять представление данных (в этом случае, сетка данных) от источника данных в оперативной памяти (в этом случае, таблица данных). "Загрузка" строки данных строкой в сетку, казалось, повредила это различие. Я также заметил, что с появлением XAML в WPF и Silverlight, привязка данных походит на необходимую вещь, чтобы смочь чисто обеспечить электричеством код XAML разработчика с помощью Ваших данных.

Когда я должен быть осторожным из использования привязки данных в.NET?

5
задан Ben McCormack 13 April 2010 в 21:19
поделиться

4 ответа

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

Я тоже пришел из мира VB6, где привязка данных снова и снова кусала нас, поэтому у нас были стандарты и обходные пути, чтобы не использовать ее.

Войдите в .NET, где привязка данных настолько гибкая, насколько вам нужно. Я по-настоящему оценил силу связывания.

Вы пишете много ненужного кода, отвергая встроенные возможности.

Вы даже можете привязать экранные объекты, такие как текстовые поля, к свойствам в классах. Перейдите по этой ссылке для обзора привязки данных winforms. http://msdn.microsoft .com / en-us / library / ef2xyb33 (v = VS.100) .aspx

3
ответ дан 18 December 2019 в 14:43
поделиться

http://www.knowdotnet.com/articles/differences.html

все резко изменилось НА ЛУЧШЕМ в .Net

Связывание данных против ручного заполнения

Программисты VB6 держались подальше от ADO управление данными и связанные элементы управления из-за некоторых причин производительности. Я делаю шаг в сторону VB.NET и чувствую, что связанные элементы управления в конце концов не так уж и плохи.

2
ответ дан 18 December 2019 в 14:43
поделиться

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

Как правило, в .NET (и его инструментах) существует два типа привязки: автоматическая и ручная. Автоматическая привязка - это когда VS создает все для вас, а вы перетаскиваете их. Не делай этого. КОГДА-ЛИБО. Единственным исключением из этого правила будут новые дополнения к Silverlight 4 в VS2010. Это единственная автоматическая привязка, сделанная правильно.

С другой стороны, ручное связывание данных с использованием DataSets как Unit of Works, CurrencyManager и других вещей может быть чрезвычайно полезным (здесь мы говорим о .NET 2.0 WinForms, не так ли?).

1
ответ дан 18 December 2019 в 14:43
поделиться

Будьте осторожны, используя все, вы не понимаете полностью.

Я признаюсь, что не очень хорошо разбираюсь в привязке данных, но я все же считаю, что позиция вашего руководителя группы несколько крайняя и реакционная.

Моим практическим правилом было бы; не полагайтесь ни на что, пока не поймете это. Как только вы это поймете, вам не нужны мои (или любые другие) эмпирические правила.

:)

Некоторые ссылки, связанные с предостережениями при использовании привязки данных:

http://travisgosselin.com/blog/?p=46

Привязка данных в C # и .NET

7
ответ дан 18 December 2019 в 14:43
поделиться
Другие вопросы по тегам:

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