5. Общее представление об интерфейсах привязки данных

Определение и использование привязанных коллекций рабочих объектов

обычно имеются коллекции объектов определенного

Когда мы имеем дело с данными, объекты редко существуют в качестве единственного экземпляра объектного типа в системе. Обычно имеются коллекции объектов определенного типа, и часто вы хотите представлять объекты этих коллекций совместно, либо через табличный интерфейс, либо такой, что допускает навигацию по объектам для их просмотра и взаимодействия с ними в одном и том же интерфейсе. Для этого вам нужен какой-то способ держать их вместе и сделать доступными в одном и том же контексте. Это делается посредством объектного типа, содержащего коллекцию других объектов.

Чтобы быть хорошим программистом объектно-ориентированных систем, необходимо хорошее знание структур данных. Если вы не очень хорошо представляете себе различия и центральные концепции списков, множеств, стеков, очередей и смешанных таблиц, я рекомендую вам прочитать какую-нибудь хорошую книгу по структурам данных. Как вы видели в других главах, главной структурой коллекции данных, с которой вы будете иметь дело в привязке данных, является список. Некоторые из других типов коллекций имеют иную семантику, как, например, пары ключ-значение в смешанных таблицах или порядок входа и выхода в стеках и очередях. В конечном счете все они являются просто множествами объектов данных в памяти, так или иначе упорядоченных, к которым можно обращаться разнообразными способами. Большинство других типов коллекций имеют способы обращаться к их содержимому Также как к коллекции.

Сам тип DataSet Является просто причудливым классом коллекции. Это класс, который содержит коллекцию таблиц данных . Таблицы содержат коллекции строк И столбцов . Эквивалентом рабочего объекта в наборе данных является экземпляр строки, и эта строка может быть нетипизированной Или типизированной, как, например, CustomersRow В типизированном наборе данных, содержащем данные о заказчиках. Поэтому в этом плане строка типизированного набора данных является в действительности просто автоматически генерированным рабочим объектом, не содержащим никакой логики, ассоциированной с его данными. Однако поскольку типизированные строки данных и таблицы определяются в генерированном коде. NET 2.0 как неполные классы, к ним можно было бы добавить еще и рабочую логику.