Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП / ООП / ры_приложений_полная_книга.pdf
Скачиваний:
500
Добавлен:
18.02.2017
Размер:
7.08 Mб
Скачать

 

шаблон рассматривается в материале «Patterns and Pattlets» по адресу

 

 

http://msdn.microsoft.com/en-us/library/ms998465.aspx.

 

 

 

 

 

Шаблоны корпоративных решений

 

 

 

 

Категория

 

Шаблоны

 

 

 

 

 

Шаблоны

 

Deployment Plan (План развертывания). Создает план развертывания,

развертывания

 

описывающий, какие компоненты приложения на какие уровни будут

 

 

развертываться. Если в процессе распределения компонентов по слоям

 

 

выясняется, что какой-то слой не подходит для компонента, определите

 

 

рентабельность изменения компонента для улучшения его работы с

 

 

инфраструктурой или изменения инфраструктуры для большего соответствия

 

 

компоненту. Более подробно этот шаблон рассматривается в материале

 

 

«Deployment Plan» по адресу http://msdn.microsoft.com/en-

 

 

us/library/ms978676.aspx.

 

 

Layered Application (Многослойное приложение). Разделяет компоненты

 

 

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

 

 

находится примерно на одном уровне абстракции. Каждый слой должен быть

 

 

слабо связан с нижележащими слоями. Более подробно этот шаблон

 

 

рассматривается в материале «Layered Application» по адресу

 

 

http://msdn.microsoft.com/en-us/library/ms978678.aspx.

 

 

Three-Layered Services Application (Трехслойное сервисное приложение).

 

 

Разделяет многослойную архитектуру на три слоя – слой представления,

 

 

бизнес-слой и слой данных – для уменьшения связанности и увеличения

 

 

связности. Более подробно этот шаблон рассматривается в материале

 

 

«Three-Layered Services Application» по адресу http://msdn.microsoft.com/en-

 

 

us/library/ms978689.aspx.

 

 

Tiered Distribution (Многоуровневое распределение). Структурирует

 

 

серверы и клиентские компьютеры как набор физических уровней и

 

 

распределяет компоненты приложений по соответствующим уровням. Более

 

 

подробно этот шаблон рассматривается в материале «Tiered Distribution» по

 

 

адресу http://msdn.microsoft.com/en-us/library/ms978701.aspx.

 

 

Three-Tiered Distribution (Трехуровневое распределение). Структурирует

 

 

приложение в три физических уровня: клиентский уровень, уровень

 

 

приложения и уровень базы данных. Более подробно этот шаблон

 

 

рассматривается в материале «Three-Tiered Distribution» по адресу

 

 

http://msdn.microsoft.com/en-us/library/ms978694.aspx.

 

 

 

 

Распределенные

 

Broker (Брокер). Используйте шаблон Broker для сокрытия деталей

системы

 

реализации вызова удаленного сервиса путем их инкапсуляции в отдельный

 

 

слой. Более подробно этот шаблон рассматривается в материале «Broker» по

 

 

адресу http://msdn.microsoft.com/en-us/library/ms978706.aspx.

 

 

Data Transfer Object (Объект передачи данных). Создает объект передачи

 

 

данных (Data Transfer Object, DTO), содержащий все данные, необходимые

 

 

для удаленного вызова. Изменяет сигнатуру удаленного метода, чтобы

 

 

принимать DTO как один параметр и возвращать его клиенту. После того как

 

 

DTO получено и сохранено как локальный объект, приложение может

 

 

вызывать процедуры DTO без необходимости выполнения удаленных

 

 

вызовов. Более подробно этот шаблон рассматривается в материале «Data

 

 

Transfer Object» по адресу http://msdn.microsoft.com/en-

 

 

us/library/ms978717.aspx.

 

 

 

 

 

Singleton (Синглтон). Синглтон обеспечивает создание единственного

 

экземпляра класса. Другие объекты могут выполнять доступ к данному

 

экземпляру через глобально доступный метод класса, который возвращает

 

ссылку на экземпляр. Кроме того, конструктор класса должен быть объявлен

 

private, чтобы ни один другой объект не смог создать новый экземпляр. Более

 

подробно этот шаблон рассматривается в материале «Singleton» по адресу

 

http://msdn.microsoft.com/en-us/library/ms998426.aspx.

 

 

Производительность

Server Clustering (Кластеризация сервера). Кластер серверов – это

и надежность

объединение двух или более серверов, представляющееся как один сервер.

 

Таким образом, формируется виртуальный ресурс, который расширяет

 

доступность, масштабируемость или и то, и другое. Более подробно этот

 

шаблон рассматривается в материале «Server Clustering» по адресу

 

http://msdn.microsoft.com/en-us/library/ms998414.aspx.

 

Load-Balanced Cluster (Кластер с балансировкой нагрузки). Обеспечивает

 

установку сервиса или приложения на несколько серверов, которые

 

сконфигурированы для разделения рабочей нагрузки. Такой тип конфигурации

 

называют кластером с балансировкой нагрузки. Балансировка нагрузки

 

масштабирует производительность таких серверных программ, как Веб-

 

сервер, путем распределения клиентских запросов на множество серверов.

 

Технологии балансировки нагрузки, которые обычно называют подсистемами

 

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

 

необходимости перенаправляют их на определенный узел. Узлы

 

балансировки нагрузки одновременно отвечают на запросы разных клиентов

 

(даже на множество запросов одного клиента). Более подробно этот шаблон

 

рассматривается в материале «Load-Balanced Cluster» по адресу

 

http://msdn.microsoft.com/en-us/library/ms978730.aspx.

 

Failover Cluster (Отказоустойчивый кластер). Отказоустойчивый кластер

 

– это набор серверов, сконфигурированных таким образом, что если один

 

сервер становится недоступным, другие серверы автоматически берут на себя

 

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

 

кластера назначен по крайней мере один резервный сервер из числа серверов

 

этого же кластера. Более подробно этот шаблон рассматривается в

 

материале «Failover Cluster» по адресу http://msdn.microsoft.com/en-

 

us/library/ms978720.aspx.

 

 

Шаблоны сервисов

Service Interface (Интерфейс сервиса). Создает компонент, обеспечивающий

 

точку входа для взаимодействия потребителей с сервисом, и предоставляет

 

слабо детализированный интерфейс, отделяя реализацию от бизнес-логики.

 

Более подробно этот шаблон рассматривается в материале «Service Interface»

 

по адресу http://msdn.microsoft.com/en-us/library/ms998421.aspx.

 

Service Gateway (Шлюз сервиса). Инкапсулирует код, реализующий

 

клиентскую часть контракта, в отдельный компонент Service Gateway, который

 

выступает в роли посредника для других сервисов, инкапсулируя детали

 

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

 

Более подробно этот шаблон рассматривается в материале «Service Gateway»

 

по адресу http://msdn.microsoft.com/en-us/library/ms998420.aspx.

 

 

Шаблоны Веб-

Model-View-Controller (Модель-представление-контроллер). Этот шаблон

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

распределяет основанные на пользовательском вводе данные предметной

 

области, представления и действий в три отдельных класса. Модель

 

управляет поведением и данными домена приложения, отвечает на запросы

 

данных о состоянии (обычно поступающие от Представления) и на команды

 

изменить состояние (обычно поступающие от Контроллера). Представление

управляет отображением информации. Контроллер интерпретирует входные данные пользователя, получаемые посредством мыши или клавиатуры, и информирует модель и/или представление о необходимости соответствующего изменения. Более подробно этот шаблон рассматривается в материале «Model-View-Controller» по адресу http://msdn.microsoft.com/enus/library/ms978748.aspx.

Page Controller (Контроллер страниц). Этот шаблон позволяет принимать входные данные запроса страницы, вызывать запрошенные действия модели и определять соответствующее представление результирующей страницы. Отделяет логику диспетчеризации от кода представления. Где это необходимо, создавайте общий базовый класс для всех контроллеров страниц, чтобы избежать дублирования кода и повысить согласованность и тестируемость. Более подробно этот шаблон рассматривается в материале

«Page Controller» по адресу http://msdn.microsoft.com/enus/library/ms978764.aspx.

Front Controller (Контроллер запросов). Этот шаблон решает проблему децентрализации, присущую шаблону Page Controller, путем направления всех запросов через один контроллер. Сам контроллер обычно реализован в виде двух составляющих: обработчика и иерархии команд. Обработчик получает от Веб-сервера HTTP-запросы Post или Get и извлекает из них соответствующие параметры. Он использует параметры запроса для выбора необходимой команды и затем для передачи управления команде для обработки. Сами команды также входят в состав контроллера. Команды представляют определенные действия, описанные в шаблоне Command. Более подробно этот шаблон рассматривается в материале «Front Controller» по адресу http://msdn.microsoft.com/en-us/library/ms978723.aspx.

Intercepting Filter (Перехватывающий фильтр). Используйте этот шаблон для создания цепочки компонуемых фильтров при реализации общих задач предварительно и последующей обработки в процессе запроса Веб-старницы. Более подробно этот шаблон рассматривается в материале «Intercepting Filter» по адресу http://msdn.microsoft.com/en-us/library/ms978727.aspx.

Page Cache (Кэш страниц). Кэширует выходные данные, сформированные сервером для страниц, которые достаточно редко меняются, но часто запрашиваются, чтобы сократить загруженность сервера. Более подробно этот шаблон рассматривается в материале «Page Cache» по адресу http://msdn.microsoft.com/en-us/library/ms978759.aspx.

Observer (Наблюдатель). Используйте шаблон Observer для сохранения списка необходимых зависимостей (наблюдателей) в отдельном объекте (субъект). Пусть все отдельные наблюдатели реализуют общий интерфейс Observer, чтобы устранить прямые зависимости между субъектом и зависимыми объектами. Более подробно этот шаблон рассматривается в материале «Observer» по адресу http://msdn.microsoft.com/enus/library/ms978753.aspx.

Шаблоны интеграции

Категория

Шаблоны

 

 

Слой

Entity Aggregation (Агрегация сущностей). Вводит слой Entity Aggregation,

интеграции

обеспечивающий логическое представление сущностей на уровне предприятия с

 

физическими связями, которые поддерживают доступ и обновление

 

соответствующих им экземпляров в серверных хранилищах. Более подробно этот

 

шаблон рассматривается в материале «Entity Aggregation» по адресу

 

http://msdn.microsoft.com/en-us/library/ms978573.aspx.

 

Process Integration (Интеграция бизнес-процессов). Определяет модель бизнес-

 

процессов, которая описывает отдельные этапы, составляющие сложную бизнес-

 

функцию. Создает отдельный компонент диспетчера процессов, который может

 

одновременно интерпретировать множество экземпляров этой модели и

 

взаимодействовать с существующими приложениями для выполнения отдельных

 

этапов процесса. Более подробно этот шаблон рассматривается в материале

 

«Process Integration» по адресу http://msdn.microsoft.com/en-

 

us/library/ms978592.aspx.

 

Portal Integration (Интеграция в портал). Создает приложение портала,

 

отображающее данные, полученные из нескольких приложений, в

 

унифицированном UI. Пользователи могут осуществлять необходимые задачи на

 

основании данных, отображаемых на этом портале. Более подробно этот шаблон

 

рассматривается в материале «Portal Integration» по адресу

 

http://msdn.microsoft.com/en-us/library/ms978585.aspx.

 

 

Топологии

Message Broker (Брокер сообщений). Расширяет решение интеграции. Брокер

интеграции

сообщений – это физический компонент, обеспечивающий связь между

 

приложениями. Приложения взаимодействуют не друг с другом, а только с

 

посредником - брокером сообщений. Приложение отправляет сообщение

 

посреднику вместе с логическим именем получателей. Посредник находит

 

приложения, зарегистрированные под данным логическим именем, и передает им

 

сообщение. Более подробно этот шаблон рассматривается в материале «Message

 

Broker» по адресу http://msdn.microsoft.com/en-us/library/ms978579.aspx.

 

Message Bus (Шина сообщений). Подключает все приложения через логический

 

компонент, который называют шиной сообщений. Шина сообщений обеспечивает

 

передачу сообщений между приложениями. Шина сообщений включает три

 

основных элемента: набор согласованных с сообщениями схем, набор общих

 

сообщений с командой и совместно используемую инфраструктуру для отправки

 

сообщений шины получателям. Более подробно этот шаблон рассматривается в

 

материале «Message Bus» по адресу http://msdn.microsoft.com/en-

 

us/library/ms978583.aspx.

 

Publish/Subscribe (Публикация/Подписка). Обеспечивает классы для публикации

 

событий, на которые могут подписаться другие приложения. Механизм

 

Publish\Subscribe обеспечивает отправку событий или сообщений всем

 

подписчикам. Более подробно этот шаблон рассматривается в материале

 

«Publish/Subscribe» по адресу http://msdn.microsoft.com/en-us/library/ms978603.aspx.

 

 

Системные

Data Integration (Интеграция данных). Интегрирует приложения в логическом слое

подключения

доступа к данным, открывая данные одного приложения (источник) для доступа из

 

других приложений (цель). Более подробно этот шаблон рассматривается в

 

материале «Data Integration» по адресу http://msdn.microsoft.com/en-

 

us/library/ms978572.aspx.

 

Functional Integration (Функциональная интеграция). Интегрирует приложения в

 

логическом бизнес-слое, открыв бизнес-функцию одного приложения (источник) для

 

доступа из других приложений (цель). Более подробно этот шаблон

 

рассматривается в материале «Functional Integration» по адресу

 

http://msdn.microsoft.com/en-us/library/ms978578.aspx.

 

Service-Oriented Integration (Сервисно-ориентированная интеграция). Для

 

логической интеграции приложений в бизнес-слое, позволяет системам

 

использовать и предоставлять Веб-сервисы XML. Используйте контракты Web

 

Services Description Language (WSDL) для описания интерфейсов этих систем.

Соседние файлы в папке ООП