Общие сведения о N-уровневых приложениях для работы с данными
N-уровневые приложения данных представляют собой приложения данных, разделенные на несколько уровней. Также называемые "распределенными приложениями" и "многоуровневыми приложениями", n-уровневые приложения разделяют обработку на дискретные уровни, распределенные между клиентом и сервером. При разработке приложений, обращающихся к данным, необходимо иметь четкое разделение между различными уровнями, которые составляют приложение.
Типичное n-уровневое приложение включает уровень представления, средний уровень и уровень данных. Самым простым способом разделения различных уровней является создание дискретных проектов для каждого уровня, который требуется включить в приложение. Например, уровень представления может быть приложением Windows Forms, тогда как логика доступа к данным может быть представлена библиотекой классов, расположенной на среднем уровне. Кроме того, уровень представления может взаимодействовать с логикой доступа к данным на среднем уровне через службу. Разделение компонентов приложения на разные уровни увеличивает эксплуатационную надежность и масштабируемость приложения. Это осуществляется за счет возможности применения новых технологий к какому-либо одному уровню без необходимости изменять все решение в целом. Кроме того, n-уровневые приложения обычно хранят важные сведения на среднем уровне, который изолирован от уровня представления.
Visual Studio содержит некоторые возможности, позволяющие разработчикам создавать многоуровневые приложения:
Создание и изменение типизированных наборов данных предоставляет свойство Проект набора данных, позволяющее разделить набор данных (уровень объектов данных) и TableAdapter (уровень доступа к данным) на отдельные проекты.
Реляционный конструктор объектов предоставляет параметры для разделения классов DataContext и классов данных на отдельные пространства имен. Это делает возможным логическое разделение уровней доступа к данным и сущности данных.
LINQ to SQL [LINQ to SQL] предоставляет метод Attach, который позволяет объединять DataContext из различных уровней в приложении. Для получения дополнительной информации см. Многоуровневые и удаленные приложения с LINQ to SQL.
Уровень представления
Уровень представления является уровнем, на котором пользователи взаимодействуют с приложением. Часто этот уровень также содержит дополнительную логику приложения. Типичными компонентами уровня презентации являются следующие:
Компоненты, связывающие данные, такие как BindingSource и BindingNavigator.
Объектное представление данных, например, классы сущностей LINQ to SQL [LINQ to SQL] для использования на уровне представления.
Уровень представления обычно получает доступ к среднему уровню через служебную ссылку (например, через приложение Службы Windows Communication Foundation и службы данных WCF в Visual Studio). Уровень представления не имеет непосредственного доступа к уровню данных. Уровень представления взаимодействует с уровнем данных посредством компонента доступа к данным на среднем уровне.
Средний уровень
Средний уровень является слоем, который уровни представления и данных используют для связи друг с другом. Средний уровень обычно включает в себя следующие компоненты:
Бизнес-логику, например проверку данных и бизнес-правила.
Компоненты и логика доступа к данным, например:
адаптеры таблиц TableAdapter и Объекты DataAdapter и DataReader.
Объектные представления данных, например, классы сущностей LINQ to SQL [LINQ to SQL].
Общие службы приложений, такие как службы аутентификации, авторизации и персонализации.
Следующий рисунок показывает возможности и технологии, доступные в Visual Studio, а также подходящие места их размещения на среднем уровне в многоуровневом приложении.
Средний уровень
Средний уровень обычно подключается к уровню данных с использованием подключения данных. Это подключение данных обычно хранится в компоненте доступа к данным.
Уровень данных
Уровень данных в общем случае является сервером, который хранит данные приложения (например, сервер под управлением SQL Server).
Следующий рисунок показывает возможности и технологии, доступные в Visual Studio, и подходящие места их размещения на уровне данных в многоуровневом приложении.
Уровень данных
Клиент на уровне представления не может получить непосредственный доступ к уровню данных. Вместо этого для связи между уровнями представления и данных используется компонент доступа к данным на среднем уровне.
Справка по многоуровневой разработке
Следующие разделы содержат сведения о работе с многоуровневыми приложениями:
Практическое руководство. Разделение наборов данных и адаптеров таблиц на разные проекты
Пошаговое руководство. Создание многоуровневого приложения для работы с данными
Пошаговое руководство. Добавление проверки данных в многоуровневое приложение
Многоуровневые и удаленные приложения с LINQ to SQL
См. также
Задачи
Пошаговое руководство. Создание многоуровневого приложения для работы с данными
Ссылки
Основные понятия
Работа с наборами данных в Visual Studio