Общие сведения о 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).Уровень представления не имеет непосредственного доступа к уровню данных.Уровень представления взаимодействует с уровнем данных посредством компонента доступа к данным на среднем уровне.
Средний уровень
Средний уровень является слоем, который уровни представления и данных используют для связи друг с другом.Средний уровень обычно включает в себя следующие компоненты:
Бизнес-логику, например проверку данных и бизнес-правила.
Компоненты и логика доступа к данным, например:
Объектные представления данных, например, классы сущностей LINQ to SQL.
Общие службы приложений, такие как службы аутентификации, авторизации и персонализации.
Следующий рисунок показывает возможности и технологии, доступные в Visual Studio, а также подходящие места их размещения на среднем уровне в многоуровневом приложении.
Средний уровень
Средний уровень обычно подключается к уровню данных с использованием подключения данных.Это подключение данных обычно хранится в компоненте доступа к данным.
Уровень данных
Уровень данных в общем случае является сервером, который хранит данные приложения (например, сервер под управлением SQL Server).
Следующий рисунок показывает возможности и технологии, доступные в Visual Studio, и подходящие места их размещения на уровне данных в многоуровневом приложении.
Уровень данных
Клиент на уровне представления не может получить непосредственный доступ к уровню данных.Вместо этого для связи между уровнями представления и данных используется компонент доступа к данным на среднем уровне.
Справка по многоуровневой разработке
Следующие разделы содержат сведения о работе с многоуровневыми приложениями:
Практическое руководство. Разделение наборов данных и адаптеров таблиц на разные проекты
Пошаговое руководство. Создание многоуровневого приложения для работы с данными
Пошаговое руководство. Добавление проверки данных в многоуровневое приложение
N-Tier and Remote Applications with LINQ to SQL
См. также
Задачи
Пошаговое руководство. Создание многоуровневого приложения для работы с данными
Ссылки
Основные понятия
Новые возможности разработки приложений для работы с данными в Visual Studio 2012
Работа с наборами данных в Visual Studio