Я только начал работать над небольшой командой программистов .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?