Курс "Microsoft "Patterns & Practices" в Киеве

Курс "Microsoft "Patterns & Practices"

Старт курса
Ожидается

Для кого этот курс

Разработчики и архитекторы программных решений

Предварительные требования

• Опыт работы программистом не менее 1 года
• Знание паттернов проектирования GoF

Курс "Microsoft "Patterns & Practices"

Старт курса
Ожидается
Продолжительность:
40 ч.
Количество уроков:
20 занятий
Стоимость обучения:
220 USD

Форма обучения

Очное обучение
Онлайн обучение
Корпоративное

Описание курса
Microsoft "Patterns & Practices"

Цель данного курса – научить разработчиков и архитекторов решений использовать шаблоны проектирования, предлагаемые группой “Patterns & Practice” для создания эффективных высококачественных приложений на платформе Microsoft .NET Framework в более сжатые сроки и с меньшими рисками благодаря использованию проверенных и снискавших доверие архитектурных принципов и шаблонов проектирования.

Данный курс ориентирован, главным образом, на разработчиков и архитекторов решений, которые нуждаются в руководстве по разработке архитектуры и проектированию приложений на платформе Microsoft .NET Framework.

Курс будет полезным любому специалисту, который интересуется архитектурой и дизайном приложений, желает разобраться в шаблонах проектирования, предлагаемых группой “Patterns & Practice”, стоящих за хорошим дизайном приложений на платформе Microsoft .NET Framework

Программа курса
  • 1
    Шаблоны проектирования составных приложений WPF и Silverlight. Часть 1
    Шаблоны категории «Модульность» и «Тестируемость». Создание локатор сервиса, внедрение зависимости и инверсия управления.

    Service Locator - Создает локатор сервиса, включающий ссылки на сервисы и инкапсулирующий логику для их размещения. В своих классах используйте локатор сервиса для получения экземпляров сервиса.

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

    Inversion of Control - Делегирование функции выбора конкретного типа реализации зависимостей классов внешнему компоненту или источнику
  • 2
    Шаблоны проектирования составных приложений WPF и Silverlight. Часть 2
    Шаблоны категории «Тестируемость».

    Separated Presentation - Отделение логики представления от бизнес-логики. Шаблон Separated Presentation может быть реализован по-разному, например, как Supervising Presenter, или Presentation Model и т.п.

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

    Supervising Presenter и Supervising Controller - Распределяет обязанности по визуальному отображению и поведению обработки событий между разными классами, которые названы представление и презентатор, соответственно. Класс представления управляет элементами управления UI, передавая события пользователей классу презентатора. Класс презентатора включает логику, которая позволяет отвечать на события, обновлять модель (бизнес-логику и данные приложения) и управлять состоянием класса представления.
  • 3
    Шаблоны передачи данных. Перемещение данных. Часть 1
    Data Replication - Создает набор репликации и связь репликации для передачи данных между двумя местоположениями. Этот шаблон описывает общий процесс, который детализирован в шаблонах передачи данных, описываемых в этой таблице.

    Master-Master Replication - Копирует данные из источника в заданное место, выявляет и разрешает любые конфликты обновления, возникшие с момента последней репликации (из-за изменений одинаковых данных источника и цели). Решение включает две перекрестные связи репликации между источником и целевым местоположением. Обе связи передают одинаковый набор репликации в обоих направлениях. Такие пары связей репликации называют связанными.

    Master-Subordinate Replication - Копирует данные из источника в заданное место без учета обновлений, которые могли иметь место для набора репликации в целевом местоположении с момента последней репликации.

    Master-Master Row-Level Synchronization - Использует пару связанных связей репликации между источником и целевым местоположением и контроллер синхронизации для управления синхронизацией в обоих направлениях. Для синхронизации более двух копий набора репликации создайте соответствующую пару связей репликации для каждой дополнительной копии.
  • 4
    Шаблоны передачи данных. Перемещение данных. Часть 2
    Master-Subordinate Snapshot Replication - Создает копию набора репликации источника в определенный момент времени (называется снимком), переносит эту копию в целевое местоположение и перезаписывает целевые данные. В этом случае любые изменения, которые могли произойти в целевом наборе репликации, заменяются новым набором репликации источника.

    Capture Transaction Details - Создает дополнительные объекты базы данных, такие как триггеры и (теневые) таблицы, и записывает изменения всех таблиц, входящих в набор репликации.

    Master-Subordinate Transactional Incremental Replication - Запрашивает у источника сведения о завершенных транзакциях и повторяет транзакции в правильной последовательности при записи в целевое местоположение.

    Master-Subordinate Cascading Replication - Увеличивает число связей репликации между источником и целью, добавляя одну или более промежуточных целей между источником и конечными целевыми базами данных. Эти промежуточные цели являются хранилищами данных, принимающими набор репликации из источника, и, таким образом, выступают в роли целевого местоположения для предыдущей связи репликации. При передаче данных по следующей связи репликации предыдущая промежуточная цель уже выступает в качестве источника, и так далее, пока не будет достигнута конечная цель каскада.
  • 5
    Шаблоны передачи данных. Прототипы шаблонов.
    Maintain Data Copies - Выполняет синхронную запись в копии данных из исходного приложения или синхронную публикацию данных в локальный кэш для дальнейшей их передачи асинхронным сервисом.

    Application-Managed Data Copies - Когда какое-либо приложение изменяет свою копию данных, оно также должно внести изменения и в другие копии. Приложение должно обеспечить обновление копий данных и/или производных данных той же транзакцией, которая выполняет изменение исходных данных.

    Extract-Transform-Load - Тип передачи данных, который может обеспечивать выполнение сложных запросов для получения данных из гетерогенных источников, применение сложных операций с данными, которые включают агрегацию и очистку, но всегда выполняющий простую запись с замещением всех изменений в цели.

    Topologies for Data Copies - Архитектурные подходы по развертыванию копий данных на нескольких платформах.
  • 6
    Шаблоны корпоративных решений. Шаблоны развёртывания. Часть 1.
    Deployment Plan - Создает план развертывания, описывающий, какие компоненты приложения на какие уровни будут развертываться. Если в процессе распределения компонентов по слоям выясняется, что какой-то слой не подходит для компонента, определите рентабельность изменения компонента для улучшения его работы с инфраструктурой или изменения инфраструктуры для большего соответствия компоненту.

    Layered Application - Разделяет компоненты решения на слои. Компоненты каждого слоя должны быть связными и находится примерно на одном уровне абстракции. Каждый слой должен быть слабо связан с нижележащими слоями
  • 7
    Шаблоны корпоративных решений. Шаблоны развёртывания. Часть 2.
    Three-Layered Services Application - Копирует данные из источника в заданное место без учета обновлений, которые могли иметь место для набора репликации в целевом местоположении с момента последней репликации.

    Tiered Distribution - Структурирует серверы и клиентские компьютеры как набор физических уровней и распределяет компоненты приложений по соответствующим уровням.

    Three-Tiered Distribution - Структурирует приложение в три физических уровня: клиентский уровень, уровень приложения и уровень базы данных.
  • 8
    Шаблоны корпоративных решений. Распределённые системы.
    Broker - Используйте шаблон Broker для сокрытия деталей реализации вызова удаленного сервиса путем их инкапсуляции в отдельный слой.

    Data Transfer Object - Создает объект передачи данных (Data Transfer Object, DTO), содержащий все данные, необходимые для удаленного вызова. Изменяет сигнатуру удаленного метода, чтобы принимать DTO как один параметр и возвращать его клиенту. После того как DTO получено и сохранено как локальный объект, приложение может вызывать процедуры DTO без необходимости выполнения удаленных вызовов.

    Singleton - Синглтон обеспечивает создание единственного экземпляра класса. Другие объекты могут выполнять доступ к данному экземпляру через глобально доступный метод класса, который возвращает ссылку на экземпляр. Кроме того, конструктор класса должен быть объявлен private, чтобы ни один другой объект не смог создать новый экземпляр.
  • 9
    Шаблоны корпоративных решений. Производительность и надежность
    Server Clustering - Кластер серверов – это объединение двух или более серверов, представляющееся как один сервер. Таким образом, формируется виртуальный ресурс, который расширяет доступность, масштабируемость или и то, и другое.

    Load-Balanced Cluster - Обеспечивает установку сервиса или приложения на несколько серверов, которые сконфигурированы для разделения рабочей нагрузки. Такой тип конфигурации называют кластером с балансировкой нагрузки. Балансировка нагрузки масштабирует производительность таких серверных программ, как Веб-сервер, путем распределения клиентских запросов на множество серверов. Технологии балансировки нагрузки, которые обычно называют подсистемами балансировки нагрузки, принимают входящие запросы и в случае необходимости перенаправляют их на определенный узел. Узлы балансировки нагрузки одновременно отвечают на запросы разных клиентов (даже на множество запросов одного клиента).

    Failover Cluster - Отказоустойчивый кластер – это набор серверов, сконфигурированных таким образом, что если один сервер становится недоступным, другие серверы автоматически берут на себя работу вышедшего из строя сервера, продолжая обработку. Каждому серверу кластера назначен, по крайней мере, один резервный сервер из числа серверов этого же кластера.
  • 10
    Шаблоны корпоративных решений. Шаблоны сервисов
    Service Interface - Создает компонент, обеспечивающий точку входа для взаимодействия потребителей с сервисом, и предоставляет слабо детализированный интерфейс, отделяя реализацию от бизнес-логики.

    Service Gateway - Инкапсулирует код, реализующий клиентскую часть контракта, в отдельный компонент Service Gateway, который выступает в роли посредника для других сервисов, инкапсулируя детали подключения к источнику и выполняя все необходимые преобразования.
  • 11
    Шаблоны корпоративных решений. Шаблоны Web-представления.
    Model-View-Controller - Этот шаблон распределяет основанные на пользовательском вводе данные предметной области, представления и действий в три отдельных класса. Модель управляет поведением и данными домена приложения, отвечает на запросы данных о состоянии (обычно поступающие от Представления) и на команды изменить состояние (обычно поступающие от Контроллера). Представление управляет отображением информации. Контроллер интерпретирует входные данные пользователя, получаемые посредством мыши или клавиатуры, и информирует модель и/или представление о необходимости соответствующего изменения.

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

    Front Controller - Этот шаблон решает проблему децентрализации, присущую шаблону Page Controller, путем направления всех запросов через один контроллер. Сам контроллер обычно реализован в виде двух составляющих: обработчика и иерархии команд. Обработчик получает от Веб-сервера HTTP-запросы Post или Get и извлекает из них соответствующие параметры. Он использует параметры запроса для выбора необходимой команды и затем для передачи управления команде для обработки. Сами команды также входят в состав контроллера. Команды представляют определенные действия, описанные в шаблоне Command.

    Шаблоны Intercepting Filter, Page Cache и Observer.
  • 12
    Шаблоны интеграции. Слой интеграции
    Entity Aggregation - Вводит слой Entity Aggregation, обеспечивающий логическое представление сущностей на уровне предприятия с физическими связями, которые поддерживают доступ и обновление соответствующих им экземпляров в серверных хранилищах.

    Process Integration - Определяет модель бизнес-процессов, которая описывает отдельные этапы, составляющие сложную бизнес-функцию. Создает отдельный компонент диспетчера процессов, который может одновременно интерпретировать множество экземпляров этой модели и взаимодействовать с существующими приложениями для выполнения отдельных этапов процесса.

    Portal Integration - Создает приложение портала, отображающее данные, полученные из нескольких приложений, в унифицированном UI. Пользователи могут осуществлять необходимые задачи на основании данных, отображаемых на этом портале.
  • 13
    Шаблоны интеграции. Топологии интеграции
    Message Broker - Расширяет решение интеграции. Брокер сообщений – это физический компонент, обеспечивающий связь между приложениями. Приложения взаимодействуют не друг с другом, а только с посредником - брокером сообщений. Приложение отправляет сообщение посреднику вместе с логическим именем получателей. Посредник находит приложения, зарегистрированные под данным логическим именем, и передает им сообщение.

    Message Bus - Подключает все приложения через логический компонент, который называют шиной сообщений. Шина сообщений обеспечивает передачу сообщений между приложениями. Шина сообщений включает три основных элемента: набор согласованных с сообщениями схем, набор общих сообщений с командой и совместно используемую инфраструктуру для отправки сообщений шины получателям.

    Publish/Subscribe - Обеспечивает классы для публикации событий, на которые могут подписаться другие приложения. Механизм Publish\Subscribe обеспечивает отправку событий или сообщений всем подписчикам.
  • 14
    Шаблоны интеграции. Системные подключения
    Data Integration - Интегрирует приложения в логическом слое доступа к данным, открывая данные одного приложения (источник) для доступа из других приложений (цель).

    Functional Integration - Интегрирует приложения в логическом бизнес-слое, открыв бизнес-функцию одного приложения (источник) для доступа из других приложений (цель).

    Service-Oriented Integration - Для логической интеграции приложений в бизнес-слое, позволяет системам использовать и предоставлять Веб-сервисы XML. Используйте контракты Web Services Description Language (WSDL) для описания интерфейсов этих систем. Обеспечьте возможность взаимодействия, согласовав вашу реализацию с семейством спецификаций Web Services (WS-*).

    Presentation Integration - Обеспечивает доступ к функциям приложения через UI путем моделирования ввода данных пользователем и чтения данных с экрана монитора.
  • 15
    Шаблоны интеграции. Дополнительные шаблоны интеграции
    Pipes and Filters - Реализует преобразования путем использования последовательности компонентов фильтров, где каждый фильтр получает входящее сообщение, применяет простое преобразование и передает преобразованное сообщение следующему компоненту. Проводит сообщения через каналы, соединяющие входы и выходы фильтров и буферизующие связь между фильтрами.

    Gateway - Выносит всю функциональность доступа к внешней системе в один интерфейс. Данный шаблон устраняет необходимость понимания принципов подключения к внешней системе, упрощая, таким образом, процессы разработки и обслуживания, связанные с доступом ко внешним системам.
  • 16
    Шаблоны безопасности Web-сервисов. Аутентификация
    Brokered Authentication - Веб-сервис проверяет учетные данные, предоставленные клиентом, без необходимости прямого взаимодействия между двумя сторонами. Посредник аутентификации, которому доверяют обе стороны, передает маркер доступа клиенту. После этого клиент может предоставить Веб-сервису учетные данные, включая и маркер доступа. Следующие три шаблона описывают специальные реализации шаблона Brokered Authentication.

    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 - Веб-сервис выступает в роли сервиса аутентификации, проверяя учетные данные, полученные от клиента. Учетные данные, включающие доказательство владения на основании общих секретов, сверяются с хранилищем удостоверений.
  • 17
    Шаблоны безопасности Web-сервисов. Авторизация и Управление исключениями
    Trusted Subsystem - Веб-сервис для доступа к дополнительным ресурсам действует как доверенная подсистема. Он использует собственные учетные данные (вместо пользовательских) для доступа к ресурсам.

    Exception Shielding - Очищает небезопасные исключения, заменяя их исключениями с безопасной структурой. Возвращает клиенту только очищенные исключения или исключения с безопасной структурой. Исключения с безопасной структурой не включают конфиденциальные данные в сообщение об исключении и не содержат подробных записей трассировки стека, поскольку это может привести к разглашению конфиденциальных данных о внутренних операциях Веб-сервиса.
  • 18
    Шаблоны безопасности Web-сервисов. Шифрование сообщений и Выявление повторов сообщений
    Data Confidentiality - Использует шифрование для защиты конфиденциальных данных сообщения. Незашифрованные данные, которые называют открытым текстом (plaintext), преобразуются в зашифрованные данные (ciphertext). Данные шифруются с помощью алгоритма и ключа шифрования. По достижении места назначения зашифрованный текст преобразуется опять в обычный текст.

    Message Replay Detection - Кэширование идентификаторов входящих сообщений и использование выявления повторов сообщений позволяет распознавать и отклонять сообщения, для которых в кэше определения повторов уже существует соответствующая запись.
  • 19
    Шаблоны безопасности Web-сервисов. Подписание сообщений и Проверка сообщений.
    Data Origin Authentication - Использование аутентификации источника данных позволяет получателю удостовериться, что сообщения не были повреждены при передаче (целостность данных) и что они исходят от предполагаемого отправителя (аутентичность).

    Message Validator - Логика проверки сообщений реализует строго определенную политику, которая устанавливает обязательные части сообщения запроса для его успешной обработки сервисом. Проверка полезной нагрузки XML-сообщения на соответствие XML-схеме (XSD) позволяет убедиться в правильности их структуры и соответствии ожиданиям обрабатывающего сервиса. Логика проверки также проверят сообщения на соответствие определенным критериям: проверяется размер сообщения, его содержимое и используемые наборы символов. Сообщения, не соответствующие заданным критериям, отклоняются
  • 20
    Шаблоны безопасности Web-сервисов. Развертывание.
    Perimeter Service Router - Спроектируйте промежуточный Веб-сервис, который будет выступать в роли пограничного сервисного маршрутизатора. Пограничный сервисный маршрутизатор обеспечивает внешний интерфейс пограничной сети для внутренних Веб-сервисов. Он принимает сообщения от внешних приложений и направляет их на соответствующий Веб-сервис частной сети.

Что вы получите на курсе

Онлайн уроки з ментором у Zoom

Практические занятия и проверка дз

Бесплатный видеокурс

Онлайн тестирование и сертификация

По завершению курса Вы будете уметь
  • Разбираться в паттернах проектирования составных приложений WPF и Silverlight
  • Использовать шаблоны передачи данных, корпоративных решений, интеграции, безопасности
  • Определять, в какой ситуации стоит использовать тот или иной шаблон
  • Улучшать качество и читаемость кода
Сертификат

по прохождению курса

Наличие сертификата Учебного Центра CyberBionic Systematics свидетельствует о Вашем владении новыми знаниями и навыками, а значит, позволяет выгодно выделиться на фоне других кандидатов и увеличивает шансы на успешное трудоустройство или продвижение по карьерной лестнице. Для получения сертификата после окончания обучения, необходимо успeшно пройти тестирование по соответствующему курсу на Testprovider.com

Преподователи курса

Записаться на курс

Ожидается

Записатися
на пробний урок
Пожалуйста, подождите...
Ваша заявка принята! Менеджер учебного центра свяжется с Вами в ближайшее время.
Мессенджер: