Поделиться через


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

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

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

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

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

  • Object Relational Designer (O/R Designer) предоставляет параметры для разделения классов DataContext и классов данных на отдельные пространства имен.Это делает возможным логическое разделение уровней доступа к данным и сущности данных.

  • LINQ to SQL предоставляет метод Attach, который позволяет объединять DataContext из различных уровней в приложении.Дополнительные сведения см. в разделе N-Tier and Remote Applications with LINQ to SQL.

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

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

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

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

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

Средний уровень

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

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

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

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

Средний уровень

Компоненты среднего уровня

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

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

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

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

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

Компоненты уровня данных

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

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

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

Практическое руководство. Разделение наборов данных и адаптеров таблиц на разные проекты

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

Пошаговое руководство. Добавление проверки данных в многоуровневое приложение

N-Tier and Remote Applications with LINQ to SQL

См. также

Задачи

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

Ссылки

Attach

Основные понятия

Новые возможности разработки приложений для работы с данными в Visual Studio 2012

Работа с наборами данных в Visual Studio

Другие ресурсы

Иерархическое обновление

Доступ к данным в Visual Studio