Курс "Microsoft "Patterns & Practices"
Для кого этот курс
Разработчики и архитекторы программных решенийПредварительные требования
• Опыт работы программистом не менее 1 года• Знание паттернов проектирования GoF
Продолжительность
40 ч.Количество уроков
20 занятийСтоимость обучения
288Курс входит в
СпециальностиПрограмма курса
Service Locator - Создает локатор сервиса, включающий ссылки на сервисы и инкапсулирующий логику для их размещения. В своих классах используйте локатор сервиса для получения экземпляров сервиса.
Dependency Injection - Экземпляры зависимостей не должны создаваться в классе явно, а должны быть представлены декларативно в его описании. Используйте объект Builder для получения действительных экземпляров зависимостей объекта и их передачи в объект при его создании и/или инициализации.
Inversion of Control - Делегирование функции выбора конкретного типа реализации зависимостей классов внешнему компоненту или источнику
Separated Presentation - Отделение логики представления от бизнес-логики. Шаблон Separated Presentation может быть реализован по-разному, например, как Supervising Presenter, или Presentation Model и т.п.
Presentation Model - Распределяет обязанности по визуальному отображению и реализации состояния и поведения пользовательского интерфейса (UI) между разными классами, которые названы представление и модель презентации соответственно. Класс представления управляет элементами управления UI. Класс модели презентации инкапсулирует поведение доступа к модели и обеспечивает открытый интерфейс, с которым легко работать представлению (например, посредством привязки данных), выступая, таким образом, в роли фасада для модели с характерным для UI состоянием и поведением.
Supervising Presenter и Supervising Controller - Распределяет обязанности по визуальному отображению и поведению обработки событий между разными классами, которые названы представление и презентатор, соответственно. Класс представления управляет элементами управления UI, передавая события пользователей классу презентатора. Класс презентатора включает логику, которая позволяет отвечать на события, обновлять модель (бизнес-логику и данные приложения) и управлять состоянием класса представления.
Master-Master Replication - Копирует данные из источника в заданное место, выявляет и разрешает любые конфликты обновления, возникшие с момента последней репликации (из-за изменений одинаковых данных источника и цели). Решение включает две перекрестные связи репликации между источником и целевым местоположением. Обе связи передают одинаковый набор репликации в обоих направлениях. Такие пары связей репликации называют связанными.
Master-Subordinate Replication - Копирует данные из источника в заданное место без учета обновлений, которые могли иметь место для набора репликации в целевом местоположении с момента последней репликации.
Master-Master Row-Level Synchronization - Использует пару связанных связей репликации между источником и целевым местоположением и контроллер синхронизации для управления синхронизацией в обоих направлениях. Для синхронизации более двух копий набора репликации создайте соответствующую пару связей репликации для каждой дополнительной копии.
Capture Transaction Details - Создает дополнительные объекты базы данных, такие как триггеры и (теневые) таблицы, и записывает изменения всех таблиц, входящих в набор репликации.
Master-Subordinate Transactional Incremental Replication - Запрашивает у источника сведения о завершенных транзакциях и повторяет транзакции в правильной последовательности при записи в целевое местоположение.
Master-Subordinate Cascading Replication - Увеличивает число связей репликации между источником и целью, добавляя одну или более промежуточных целей между источником и конечными целевыми базами данных. Эти промежуточные цели являются хранилищами данных, принимающими набор репликации из источника, и, таким образом, выступают в роли целевого местоположения для предыдущей связи репликации. При передаче данных по следующей связи репликации предыдущая промежуточная цель уже выступает в качестве источника, и так далее, пока не будет достигнута конечная цель каскада.
Application-Managed Data Copies - Когда какое-либо приложение изменяет свою копию данных, оно также должно внести изменения и в другие копии. Приложение должно обеспечить обновление копий данных и/или производных данных той же транзакцией, которая выполняет изменение исходных данных.
Extract-Transform-Load - Тип передачи данных, который может обеспечивать выполнение сложных запросов для получения данных из гетерогенных источников, применение сложных операций с данными, которые включают агрегацию и очистку, но всегда выполняющий простую запись с замещением всех изменений в цели.
Topologies for Data Copies - Архитектурные подходы по развертыванию копий данных на нескольких платформах.
Layered Application - Разделяет компоненты решения на слои. Компоненты каждого слоя должны быть связными и находится примерно на одном уровне абстракции. Каждый слой должен быть слабо связан с нижележащими слоями
Tiered Distribution - Структурирует серверы и клиентские компьютеры как набор физических уровней и распределяет компоненты приложений по соответствующим уровням.
Three-Tiered Distribution - Структурирует приложение в три физических уровня: клиентский уровень, уровень приложения и уровень базы данных.
Data Transfer Object - Создает объект передачи данных (Data Transfer Object, DTO), содержащий все данные, необходимые для удаленного вызова. Изменяет сигнатуру удаленного метода, чтобы принимать DTO как один параметр и возвращать его клиенту. После того как DTO получено и сохранено как локальный объект, приложение может вызывать процедуры DTO без необходимости выполнения удаленных вызовов.
Singleton - Синглтон обеспечивает создание единственного экземпляра класса. Другие объекты могут выполнять доступ к данному экземпляру через глобально доступный метод класса, который возвращает ссылку на экземпляр. Кроме того, конструктор класса должен быть объявлен private, чтобы ни один другой объект не смог создать новый экземпляр.
Load-Balanced Cluster - Обеспечивает установку сервиса или приложения на несколько серверов, которые сконфигурированы для разделения рабочей нагрузки. Такой тип конфигурации называют кластером с балансировкой нагрузки. Балансировка нагрузки масштабирует производительность таких серверных программ, как Веб-сервер, путем распределения клиентских запросов на множество серверов. Технологии балансировки нагрузки, которые обычно называют подсистемами балансировки нагрузки, принимают входящие запросы и в случае необходимости перенаправляют их на определенный узел. Узлы балансировки нагрузки одновременно отвечают на запросы разных клиентов (даже на множество запросов одного клиента).
Failover Cluster - Отказоустойчивый кластер – это набор серверов, сконфигурированных таким образом, что если один сервер становится недоступным, другие серверы автоматически берут на себя работу вышедшего из строя сервера, продолжая обработку. Каждому серверу кластера назначен, по крайней мере, один резервный сервер из числа серверов этого же кластера.
Service Gateway - Инкапсулирует код, реализующий клиентскую часть контракта, в отдельный компонент Service Gateway, который выступает в роли посредника для других сервисов, инкапсулируя детали подключения к источнику и выполняя все необходимые преобразования.
Page Controller - Этот шаблон позволяет принимать входные данные запроса страницы, вызывать запрошенные действия модели и определять соответствующее представление результирующей страницы. Отделяет логику диспетчеризации от кода представления. Где это необходимо, создавайте общий базовый класс для всех контроллеров страниц, чтобы избежать дублирования кода и повысить согласованность и тестируемость.
Front Controller - Этот шаблон решает проблему децентрализации, присущую шаблону Page Controller, путем направления всех запросов через один контроллер. Сам контроллер обычно реализован в виде двух составляющих: обработчика и иерархии команд. Обработчик получает от Веб-сервера HTTP-запросы Post или Get и извлекает из них соответствующие параметры. Он использует параметры запроса для выбора необходимой команды и затем для передачи управления команде для обработки. Сами команды также входят в состав контроллера. Команды представляют определенные действия, описанные в шаблоне Command.
Шаблоны Intercepting Filter, Page Cache и Observer.
Process Integration - Определяет модель бизнес-процессов, которая описывает отдельные этапы, составляющие сложную бизнес-функцию. Создает отдельный компонент диспетчера процессов, который может одновременно интерпретировать множество экземпляров этой модели и взаимодействовать с существующими приложениями для выполнения отдельных этапов процесса.
Portal Integration - Создает приложение портала, отображающее данные, полученные из нескольких приложений, в унифицированном UI. Пользователи могут осуществлять необходимые задачи на основании данных, отображаемых на этом портале.
Message Bus - Подключает все приложения через логический компонент, который называют шиной сообщений. Шина сообщений обеспечивает передачу сообщений между приложениями. Шина сообщений включает три основных элемента: набор согласованных с сообщениями схем, набор общих сообщений с командой и совместно используемую инфраструктуру для отправки сообщений шины получателям.
Publish/Subscribe - Обеспечивает классы для публикации событий, на которые могут подписаться другие приложения. Механизм Publish\Subscribe обеспечивает отправку событий или сообщений всем подписчикам.
Functional Integration - Интегрирует приложения в логическом бизнес-слое, открыв бизнес-функцию одного приложения (источник) для доступа из других приложений (цель).
Service-Oriented Integration - Для логической интеграции приложений в бизнес-слое, позволяет системам использовать и предоставлять Веб-сервисы XML. Используйте контракты Web Services Description Language (WSDL) для описания интерфейсов этих систем. Обеспечьте возможность взаимодействия, согласовав вашу реализацию с семейством спецификаций Web Services (WS-*).
Presentation Integration - Обеспечивает доступ к функциям приложения через UI путем моделирования ввода данных пользователем и чтения данных с экрана монитора.
Gateway - Выносит всю функциональность доступа к внешней системе в один интерфейс. Данный шаблон устраняет необходимость понимания принципов подключения к внешней системе, упрощая, таким образом, процессы разработки и обслуживания, связанные с доступом ко внешним системам.
Brokered Authentication: Kerberos - Выполняет аутентификацию через посредника между клиентами и Веб-серверами с помощью протокола Kerberos.
Brokered Authentication: X509 PKI - Для проверки учетных данных, предоставляемых запрашивающим приложением, использует аутентификацию через посредника по сертификатам X.509, выпущенными центром сертификации (Certificate Authority, CA) для инфраструктуры открытых ключей (Public Key Infrastructure, PKI).
Brokered Authentication: STS - Использует аутентификацию через посредника с маркером доступа, выпущенным сервисом маркеров доступа (Security Token Service, STS). И клиент, и Веб-сервис доверяют STS обеспечение маркеров доступа.
Direct Authentication - Веб-сервис выступает в роли сервиса аутентификации, проверяя учетные данные, полученные от клиента. Учетные данные, включающие доказательство владения на основании общих секретов, сверяются с хранилищем удостоверений.
Exception Shielding - Очищает небезопасные исключения, заменяя их исключениями с безопасной структурой. Возвращает клиенту только очищенные исключения или исключения с безопасной структурой. Исключения с безопасной структурой не включают конфиденциальные данные в сообщение об исключении и не содержат подробных записей трассировки стека, поскольку это может привести к разглашению конфиденциальных данных о внутренних операциях Веб-сервиса.
Message Replay Detection - Кэширование идентификаторов входящих сообщений и использование выявления повторов сообщений позволяет распознавать и отклонять сообщения, для которых в кэше определения повторов уже существует соответствующая запись.
Message Validator - Логика проверки сообщений реализует строго определенную политику, которая устанавливает обязательные части сообщения запроса для его успешной обработки сервисом. Проверка полезной нагрузки XML-сообщения на соответствие XML-схеме (XSD) позволяет убедиться в правильности их структуры и соответствии ожиданиям обрабатывающего сервиса. Логика проверки также проверят сообщения на соответствие определенным критериям: проверяется размер сообщения, его содержимое и используемые наборы символов. Сообщения, не соответствующие заданным критериям, отклоняются
По завершению курса вы будете уметь
Разбираться в паттернах проектирования составных приложений WPF и Silverlight
Использовать шаблоны передачи данных, корпоративных решений, интеграции, безопасности
Определять, в какой ситуации стоит использовать тот или иной шаблон
Улучшать качество и читаемость кода
Попробуйте бесплатно
Полноценное занятие с тренером
Что входит в курс
18 часов живого обучения с тренером
Практические занятия и проверка ДЗ
Общение с группой
Поддержка ментора и ассистента
Тестирование и Сертификат
Видео курс от ITVDN
Как проходит обучение
Живые онлайн занятия
с тренером
Выполнение
домашних заданий
Проверка ДЗ
и фидбек
Тестирование
и сертификация
Сертификат по прохождению курса
Сертификат по прохождению курса
Готов
начать обучение?
Отправляй заявку и зафиксируй свою скидку на обучение
Остались вопросы?
Подскажем, с чего начать, какую специальность выбрать и как найти первую работу.
О курсе Microsoft "Patterns & Practices"
Данный курс ориентирован, главным образом, на разработчиков и архитекторов решений, которые нуждаются в руководстве по разработке архитектуры и проектированию приложений на платформе Microsoft .NET Framework.
Курс будет полезным любому специалисту, который интересуется архитектурой и дизайном приложений, желает разобраться в шаблонах проектирования, предлагаемых группой “Patterns & Practice”, стоящих за хорошим дизайном приложений на платформе Microsoft .NET Framework