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

Замечания

При работе с Validation Application Block обратите внимание на следующее:

Некоторые технологии, такие как ASP.NET и Windows Forms, предлагают встроенные функции валидации. Поэтому в случаях, когда логика валидации должна применяться только в рамках этих технологий, работайте с Validation Application Block, только если логику валидации необходимо использовать многократно.

WCF и другие приложения, работающие с XML-данными, могут использовать XMLсхемы для проверки сообщений на уровне XML. Если логику валидации требуется применять только в рамках этих технологий, работайте с Validation Application Block, только если логику валидации необходимо использовать многократно.

В самых простых случаях, когда требуется проверка лишь нескольких объектов, не стоит тратить время на добавление блока приложений.

Дополнительные источники

Электронная версия списка используемых источников доступна по адресу http://www.microsoft.com/architectureguide.

«Enterprise Library» по адресу http://msdn.microsoft.com/en-us/library/cc467894.aspx.

«The Caching Application Block» по адресу http://msdn.microsoft.com/enus/library/cc511588.aspx.

«The Cryptography Application Block» по адресу http://msdn.microsoft.com/enus/library/cc511721.aspx.

«The Data Access Application Block» по адресу http://msdn.microsoft.com/enus/library/cc511547.aspx.

«The Exception Handling Application Block» по адресу http://msdn2.microsoft.com/enus/library/aa480461.aspx.

«The Logging Application Block» по адресу http://msdn.microsoft.com/enus/library/cc511708.aspx.

«The Policy Injection Application Block» по адресу http://msdn.microsoft.com/enus/library/cc511729.aspx.

«The Security Application Block» по адресу http://msdn.microsoft.com/enus/library/cc511928.aspx.

«The Unity Application Block» по адресу http://msdn.microsoft.com/enus/library/cc511654.aspx.

«The Validation Application Block» по адресу http://msdn.microsoft.com/enus/library/cc511802.aspx.

«Enterprise Library Frequently Asked Questions» (Часто задаваемые вопросы по

Enterprise Library) по адресу http://www.codeplex.com/entlib/Wiki/View.aspx?title=EntLib%20FAQ.

Приложение

Ж

Каталог шаблонов patterns & practices

Руководство по проектированию составных приложений для WPF

и Silverlight

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

Модульность Service Locator (Локатор сервиса). Создает локатор сервиса, включающий ссылки на сервисы и инкапсулирующий логику для их размещения. В своих классах используйте локатор сервиса для получения экземпляров сервиса. Более подробно этот шаблон рассматривается в материале «Service Locator» по адресу http://msdn.microsoft.com/en-us/library/dd458903.aspx.

Тестируемость Dependency Injection (Внедрение зависимостей). Экземпляры зависимостей не должны создаваться в классе явно, а должны быть представлены декларативно в его описании. Используйте объект Builder для получения действительных экземпляров зависимостей объекта и их передачи в объект при его создании и/или инициализации. Более подробно этот шаблон рассматривается в материале

«Dependency Injection» по адресу http://msdn.microsoft.com/enus/library/dd458879.aspx.

Inversion of Control (Инверсия управления). Делегируйте функции выбора конкретного типа реализации зависимостей классов внешнему компоненту или источнику. Более подробно этот шаблон рассматривается в материале «Inversion of Control» по адресу http://msdn.microsoft.com/en-us/library/dd458907.aspx.

Separated Presentation (Отделение представления). Отделите логику представления от бизнес-логики. Шаблон Separated Presentation может быть реализован по-разному, например, как Supervising Presenter или Presentation Model и т.п. Более подробно этот шаблон рассматривается в материале «Separated Presentation» по адресу http://msdn.microsoft.com/en-us/library/dd458859.aspx.

Presentation Model (Модель презентации). Распределяет обязанности по визуальному отображению и реализации состояния и поведения пользовательского

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

«Presentation Model» по адресу http://msdn.microsoft.com/en-us/library/dd458863.aspx.

Supervising Presenter (Наблюдающий презентатор) или Supervising Controller (Наблюдающий контроллер). Распределяет обязанности по визуальному отображению и поведению обработки событий между разными классами, которые названы представление и презентатор, соответственно. Класс представления управляет элементами управления UI, передавая события пользователей классу презентатора. Класс презентатора включает логику, которая позволяет отвечать на события, обновлять модель (бизнес-логику и данные приложения) и управлять состоянием класса представления. Более подробно этот шаблон рассматривается в материале «Supervising Presenter» по адресу http://msdn.microsoft.com/enus/library/dd490821.aspx.

Шаблоны передачи данных

Категория

Шаблоны

 

 

Шаблоны

Data Replication (Репликация данных). Создает набор репликации и связь

перемещения

репликации для передачи данных между двумя местоположениями. Этот шаблон

данных

описывает общий процесс, который детализирован в шаблонах передачи данных,

 

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

 

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

 

us/library/ms978671.aspx.

 

Master-Master Replication (Репликация главный-главный). Копирует данные из

 

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

 

возникшие с момента последней репликации (из-за изменений одинаковых данных

 

источника и цели). Решение включает две перекрестные связи репликации между

 

источником и целевым местоположением. Обе связи передают одинаковый набор

 

репликации в обоих направлениях. Такие пары связей репликации называют

 

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

 

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

 

Master-Subordinate Replication (Репликация главный-подчиненный). Копирует

 

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

 

место для набора репликации в целевом местоположении с момента последней

 

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

 

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

 

us/library/ms978740.aspx.

 

Master-Master Row-Level Synchronization (Синхронизация главный-главный на

 

уровне строк). Использует пару связанных связей репликации между источником и

 

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

 

синхронизацией в обоих направлениях. Для синхронизации более двух копий

 

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

 

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

 

«Master-Master Row-Level Synchronization» по адресу http://msdn.microsoft.com/en-

 

us/library/ms998434.aspx

 

Master-Subordinate Snapshot Replication (Репликация снимка главный-

 

подчиненный). Создает копию набора репликации источника в определенный

 

момент времени (называется снимком), переносит эту копию в целевое

 

местоположение и перезаписывает целевые данные. В этом случае любые

 

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

 

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

 

рассматривается в материале «Master-Subordinate Snapshot Replication» по адресу

 

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

 

Capture Transaction Details (Захват деталей транзакции). Создает

 

дополнительные объекты базы данных, такие как триггеры и (теневые) таблицы, и

 

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

 

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

 

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

 

Master-Subordinate Transactional Incremental Replication (Транзакционная

 

инкрементная репликация главный-подчиненный). Запрашивает у источника

 

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

 

последовательности при записи в целевое местоположение. Более подробно этот

 

шаблон рассматривается в материале «Master-Subordinate Transactional Incremental

 

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

 

Master-Subordinate Cascading Replication (Каскадная репликация главный-

 

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

 

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

 

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

 

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

 

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

 

При передаче данных по следующей связи репликации предыдущая

 

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

 

будет достигнута конечная цель каскада. Более подробно этот шаблон

 

рассматривается в материале «Master-Subordinate Cascading Replication» по адресу

 

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

 

 

Прототипы

Maintain Data Copies (Хранение копий данных). Выполняет синхронную запись в

шаблонов

копии данных из исходного приложения или синхронную публикацию данных в

 

локальный кэш для дальнейшей их передачи асинхронным сервисом. Более

 

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

 

(Шаблоны и прототипы) по адресу http://msdn.microsoft.com/en-

 

us/library/ms998465.aspx.

 

Application-Managed Data Copies (Управляемые приложением копии данных).

 

Когда какое-либо приложение изменяет свою копию данных, оно также должно

 

внести изменения и в другие копии. Приложение должно обеспечить обновление

 

копий данных и/или производных данных той же транзакцией, которая выполняет

 

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

 

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

 

us/library/ms998465.aspx.

 

Extract-Transform-Load (Извлечение-Преобразование-Загрузка). Тип передачи

 

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

 

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

 

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

 

запись с замещением всех изменений в цели. Более подробно этот шаблон

 

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

 

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

 

Topologies for Data Copies (Топологии копий данных). Архитектурные подходы

 

по развертыванию копий данных на нескольких платформах. Более подробно этот

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