Общие сведения о приложениях данных уровня N уровня платформа .NET Framework

Примечание.

Наборы данных и связанные классы являются устаревшими технологиями платформа .NET Framework с начала 2000-х годов, которые позволяют приложениям работать с данными в памяти во время отключения приложений от базы данных. Они особенно полезны для приложений, которые позволяют пользователям изменять данные и сохранять изменения обратно в базу данных. Хотя наборы данных оказались очень успешными, мы рекомендуем новым приложениям .NET использовать Entity Framework Core. Entity Framework предоставляет более естественный способ работы с табличными данными в виде объектных моделей, и он имеет более простой интерфейс программирования.

Многоуровневые приложения обработки данных — это приложения для работы с данными, разделенные на несколько логических уровней. Многоуровневые (другое название — "распределенные" или "n-уровневые") приложения разбивают обработку на дискретные уровни, распределяемые между клиентом и сервером. При разработке приложений, которые обращаются к данным, различные уровни, из которых состоит приложение, необходимо четко разделять.

Типичное многоуровневое приложение включает в себя уровень представления, средний уровень и уровень данных. Простейший способ разделения разных уровней в многоуровневом приложении заключается в создании отдельных проектов для каждого уровня, который требуется включить в приложение. Например, уровнем представления может быть приложение Windows Forms, где логика доступа к данным может выступать как библиотека классов, расположенная на среднем уровне. Кроме того, уровень представления может взаимодействовать с логикой доступа к данным на среднем уровне через какую-либо службу, например через веб-службу. Разделение компонентов приложения на уровни повышает удобство поддержки и масштабирования приложения. Это достигается за счет упрощения внедрения новых технологий, которые можно применить к отдельному уровню без пересмотра всего решения. Кроме того, многоуровневые приложения обычно хранят конфиденциальную информацию на среднем уровне, изолированном от уровня представления.

Visual Studio включает несколько функций, помогающих разработчикам создавать многоуровневые приложения:

  • Набор данных предоставляет свойство Проект DataSet, позволяющее разделить набор данных (уровень сущностей данных) и TableAdapter (уровень доступа к данным) на отдельные проекты.

  • Средства LINQ to SQL в Visual Studio предоставляют параметры для создания DataContext и классов данных в отдельных пространствах имен. Это обеспечивает логическое разделение между уровнем доступа к данным и уровнем сущностей данных.

  • LINQ to SQL предоставляет метод Attach, позволяющий объединить в приложении DataContext из разных уровней. Дополнительные сведения см. в разделе Многоуровневые и удаленные приложения с LINQ to SQL.

Уровень представления

Уровень представления — это уровень, на котором пользователи взаимодействуют с приложением. Часто он содержит также дополнительную логику приложения. К типичным компонентам уровня представления относятся:

  • Компоненты привязки данных, такие как BindingSource и BindingNavigator.

  • Объектные представления данных, такие как классы сущностей LINQ to SQL, для использования на уровне представления.

Уровень представления обычно обращается к среднему уровню по ссылке на службу (например, приложение Windows Communication Foundation Services и WCF Data Services в Visual Studio). Уровень представления не имеет прямого доступа к уровню данных. Он взаимодействует с уровнем данных через компонент доступа к данным на среднем уровне.

Промежуточный уровень

Средний уровень — это слой, который уровни представления и данных используют для связи друг с другом. К типичным компонентам среднего уровня относятся:

  • Бизнес-логика, например, бизнес-правила и проверка данных.

  • Компоненты и логика доступа к данным, например, следующие:

    • TableAdapters и DataAdapters and DataReaders.

    • Объектные представления данных, такие как классы сущностей LINQ to SQL.

    • Общие службы приложений, такие как проверка подлинности, авторизация и персонализация.

На следующем рисунке показаны функции и технологии, доступные в Visual Studio, и их возможное размещение на среднем уровне многоуровневого приложения.

Middle tier components Средний уровень

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

Уровень данных

По существу, уровень данных представляет собой сервер, на котором хранятся данные приложения (например, сервер под управлением SQL Server).

На следующем рисунке показаны функции и технологии, доступные в Visual Studio, и их возможное размещение на уровне данных многоуровневого приложения.

Data tier components Уровень данных

Доступ к уровню данных непосредственно из клиента на уровне представления получить нельзя. Вместо этого для связи между уровнями представления и данных используется компонент доступа к данным на среднем уровне.

Справка по многоуровневой разработке

Следующие статьи содержат сведения о работе с многоуровневыми приложениями:

Разделение наборов данных и адаптеров таблиц на разные проекты

Пошаговое руководство. Создание n-уровневого приложения для работы с данными

N-уровневые и удаленные приложения с LINQ to SQL

См. также