Microsoft Silver Partner
Оформити заявку

Курс - Microsoft Patterns & Practices

Изображение к курсу Microsoft Patterns & Practices
Курс Microsoft Patterns & Practices
Тривалість 20 днів / 40 годин
Кількість уроків 15

Очне навчання

5670 UAH Записатися

Онлайн навчання

5670 UAH Записатися

Відео навчання

Підписатися

Консультації

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

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

Курс буде корисним будь-якому спеціалісту, який цікавиться архітектурою та дизайном програм, бажає розібратися у шаблонах проектування, які пропонуються групою “Patterns & Practice” та складають основу гарного дизайну програм на платформі Microsoft .NET Framework
• Досвід роботи програмістом не менше 1 року
• Знання шаблонів проектування GoF
Розробники та архітектори програмних рішень
Урок 1

Урок 1. Шаблони проектування складених прикладних програм WPF та Silverlight. Частина 1

Шаблони категорії «Модульність» та «Тестування». Створення локатор-сервісу, впровадження залежності та інверсія керування.

Service Locator - Створює локатор сервісу, що містить посилання на сервіси та інкапсульовану логіку для їх розташування. У своїх класах використовуйте локатор сервісу для отримання екземплярів сервісу.

Dependency Injection - Екземпляри залежностей не повинні створюватися у класі явно, а мають бути представлені декларативно у його описанні. Використовуйте об’єкт Builder для отримання дійсних екземплярів залежності об’єкта та їх передачі в об’єкт при його створенні та/чи ініціалізації.

Inversion of Control - Делегування функції вибору конкретного типу реалізації залежностей класів зовнішньому компоненту чи джерелу

Урок 2

Урок 2. Шаблони проектування складених прикладних програм WPF та Silverlight. Частина 2

Шаблони категорії «Тестування».

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

Presentation Model - Розділяє обов’язки по візуальному відображенню та реалізації стану та поведінки інтерфейсу користувача (UI) між різними класами, котрі названі Представлення та Модель презентації відповідно. Клас представлення керує елементами управління UI. Клас моделі презентації інкапсулює методи доступу до моделі та забезпечує відкритий інтерфейс, з яким легко взаємодіяти представленню (наприклад, шляхом прив’язки даних). Таким чином, клас моделі презентації є фасадом з характерним для UI станом та поведінкою.

Supervising Presenter та Supervising Controller - Розподіляє обов’язки по візуальному відображенню та методами обробки подій між різними класами, котрі названі Представлення та Презентатор відповідно. Клас представлення керує елементами управління UI, передаючи події користувача класу презентатора. Клас презентатора включає логіку, яка дозволяє відповідати на події, оновлювати модель (бізнес-логіку та дані програми) та керувати станом класу представлення

Урок 3

Урок 3. Шаблони передачі даних. Переміщення даних. Частина 1

Data Replication - Створює набір реплікації та зв’язок реплікації для передачі даних між двома розташуваннями. Цей шаблон описує загальний процес, що деталізований у шаблонах передачі даних, описуваних у даному переліку.

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

Master-Subordinate Replication - Копіює дані із джерела у задане місце без врахування оновлень, які могли відбутися для набору реплікації у цільовому розташуванні з моменту останньої реплікації.

Master-Master Row-Level Synchronization - Використовує пару пов’язаних зв’язків реплікації між джерелом та цільовим розташуванням, а також контролер синхронізації для управління синхронізацією у обох напрямках. Для синхронізації більше, ніж двох копій набору реплікації створює відповідну пару зв’язків реплікації для кожної додаткової копії.

Урок 4

Урок 4. Шаблони передачі даних. Переміщення даних. Частина 2

Master-Subordinate Snapshot Replication - Створює копію набору реплікації джерела у визначений момент часу (називається знімком), переносить цю копію у цільове розташування та перезаписує цільові дані. У цьому випадку будь-які зміни, що могли відбутися у цільовому наборі реплікації, заміняються новим набором реплікації джерела.

Capture Transaction Details - Створює додаткові об’єкти бази даних, такі як тригери і (тіньові) таблиці, та записує зміни до всіх таблиць, що входять у набір реплікації.

Master-Subordinate Transactional Incremental Replication - Запитує у джерела дані про транзакції, що завершилися, і повторює транзакції у правильній послідовності при записі у цільове розташування.

Master-Subordinate Cascading Replication - Збільшує число зв’язків реплікації між джерелом та ціллю, додаючи одну чи більше проміжних цілей між джерелом та кінцевими цільовими базами даних. Ці проміжні цілі являють собою сховище даних, що приймає набір реплікації із джерела, і, таким чином, виступає у ролі цільового розташування для попереднього зв’язку реплікації. При передачі даних по наступному зв’язку реплікації попередня проміжна ціль вже виступає в ролі джерела, і так далі, поки не буде досягнута кінцева ціль каскаду.

Урок 5

Урок 5. Шаблони передачі даних. Прототипи шаблонів

Maintain Data Copies - Виконує синхронний запис у копії даних із початкової програми чи синхронну публікацію даних у локальний кеш для подальшої їх передачі асинхронним сервісом.

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

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

Topologies for Data Copies - Архітектурні підходи по розгортанню копій даних на декількох платформах.

Урок 6

Урок 6. Шаблони корпоративних рішень. Шаблони розгортання. Частина 1

Deployment Plan - Створює план розгортання, що описує, які компоненти програми на які рівні будуть розгортатися. Якщо в процесі розподілу компонентів по шарам виявляється, що якийсь шар не підходить для компонента, визначте рентабельність внесення змін до компоненту для покращення його роботи з інфраструктурою чи внесення змін до інфраструктури для більшої відповідності компоненту.

Layered Application - Розділяє компоненти рішення на шари. Компоненти кожного шару повинні бути зв’язані і знаходитися приблизно на одному рівні абстракції. Кожний шар повинен бути слабо зв’язаним із нижче розташованими шарами.

Урок 7

Урок 7. Шаблони корпоративних рішень. Шаблони розгортання. Частина 2

Three-Layered Services Application - Копіює дані із джерела у задане місце без врахування оновлень, котрі могли відбутися для набору реплікації у цільовому розташуванні з моменту останньої реплікації.

Tiered Distribution - Структурує сервери та клієнтські комп’ютери як набір фізичних рівнів та розподіляє компоненти програми по відповідним рівням.

Three-Tiered Distribution - Структурує програму на три фізичні рівні: клієнтський рівень, рівень програми та рівень бази даних.

Урок 8

Урок 8. Шаблони корпоративних рішень. Розподілені системи

Broker - Використовуйте шаблон Broker для приховання деталей реалізації виклику віддаленого сервісу шляхом його інкапсуляції у окремий шар.

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

Singleton - Одинак забезпечує створення єдиного екземпляру класу. Інші об’єкты можуть здійснювати доступ до даного екземпляру через глобально доступний метод класу, який повертає посилання на екземпляр. Крім того, конструктор класу повинен бути оголошений private, щоб ні один інший об’єкт не зміг створити новий екземпляр.

Урок 9

Урок 9. Шаблони корпоративних рішень. Продуктивність та надійність

Server Clustering - Кластер серверів – це об’єднання двох чи більше серверів, що представляється як єдиний сервер. Таким чином, формується віртуальний ресурс, котрий розширяє доступність, масштабованість чи і те, і інше.

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

Failover Cluster - Відмовостійкий кластер – це набір серверів, сконфігурованих таким чином, що якщо один сервер стає недоступним, інші сервери автоматично беруть на себе роботу того серверу, який вийшов із ладу, та продовжують опрацювання даних. Кожному серверу кластера назначений, в найменшій мірі, один резервний сервер із числа серверів цього ж кластеру.

Урок 10

Урок 10. Шаблони корпоративних рішень. Шаблони сервісів

Service Interface - Створює компонент, що забезпечує точку входу для взаємодії споживачів з сервісом, та представляє слабо деталізований інтерфейс, відділяючи реалізацію від бізнес-логіки.

Service Gateway – Інкапсулює код, що реалізує клієнтську частину контракту, в окремий компонент Service Gateway, який виступає у ролі посередника для других сервісів, інкапсулюючи деталі підключення до джерела і виконуючи всі необхідні перетворення.

Урок 11

Урок 11. Шаблони корпоративних рішень. Шаблони веб-представлення

Model-View-Controller - Цей шаблон розподіляє, основані на користувацькому вводі, дані предметної області представлення і дій у три окремих класи. Модель керує поведінкою та даними домену програми, відповідає на запити даних про стан (звичайно такі запити надходять від Представлення) та на команди внести зміни до стану (звичайно такі запити надходять від Контролера). Представлення керує відображенням інформації. Контролер інтерпретує вхідні дані користувача, отримані від миші та клавіатури, і інформує модель та/чи представлення про необхідність внесення відповідних змін.

Page Controller - Цей шаблон дозволяє приймати вхідні дані запиту сторінки, викликати запитувані дії моделі та визначати відповідне представлення сторінки-результату. Відокремлює логіку диспетчеризації від коду представлення. Там, де це необхідно, створюйте загальний базовий клас для всіх контролерів сторінок, щоб уникнути дублювання коду і підвищити узгодженість и тестованість.

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

Шаблони Intercepting Filter, Page Cache та Observer.

Урок 12

Урок 12. Шаблони інтеграції. Шари інтеграції

Entity Aggregation - Вводить шар Entity Aggregation, що забезпечує логічне представлення сутностей на рівні підприємства з фізичними зв’язками, які підтримують доступ та оновлення відповідних їм екземплярів у серверних сховищах.

Process Integration - Визначає модель бізнес-процесів, яка описує окремі етапи, складові складної бізнес-функції. Створює окремий компонент диспетчера процесів, який може одночасно інтерпретувати велику кількість екземплярів цієї моделі та взаємодіяти з існуючими програмами для виконання окремих етапів процесу.

Portal Integration - Створює програму порталу, що відображає дані, отримані із декількох програм, в уніфікованому UI. Користувачі можуть здійснювати необхідні задачі на основі даних, відображених на цьому порталі.

Урок 13

Урок 13. Шаблони інтеграції. Топології інтеграції

Message Broker - Розширює рішення по інтеграції. Брокер повідомлень – це фізичний компонент, що забезпечує зв’язок між програмами. Програми взаємодіють не одне з одним, а лише з посередником - брокером повідомлень. Програма відправляє повідомлення посереднику разом з логічним ім’ям отримувачів. Посередник знаходить програми, зареєстровані під даним логічним іменем, і передає їм повідомлення.

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

Publish/Subscribe - Забезпечує класи для публікації подій, на які можуть підписуватися інші програми. Механізм Publish\Subscribe забезпечує відправку подій чи повідомлень всім читачам.

Урок 14

Урок 14. Шаблони інтеграції. Системні підключення

Data Integration - Інтегрує програми у логічному шарі доступу до даних, відкриває дані однієї програми (джерело) для доступу із інших програм (ціль).

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

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

Presentation Integration - Забезпечує доступ до функцій програми через UI шляхом моделювання вводу даних користувачем та читання даних з екрану монітору.

Урок 15

Урок 15. Шаблони інтеграції. Додаткові шаблони інтеграції

Pipes and Filters - Реалізує перетворення шляхом використання послідовності компонентів фільтрів, де кожный фільтр отримує вхідні повідомлення, виконує прості перетворення та передає перетворене повідомлення наступному компоненту. Проводить повідомлення через канали, що з’єднують входи та виходи фільтрів та буферизують зв’язок між фільтрами.

Gateway - Виносить всю функціональність доступу до зовнішньої системи в один інтерфейс. Даний шаблон усуває необхідність розуміння принципів підключення до зовнішньої системи, спрощуючи, таким чином, процеси розробки та обслуговування, пов’язані з доступом до зовнішніх систем.

Урок 16

Урок 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

Урок 17. Шаблони безпеки Web-сервісів. Авторизація і Керування винятковими ситуаціями

Trusted Subsystem - Веб-сервіс для доступу до додаткових ресурсів діє як довірена підсистема. Він використовує власні облікові дані (замість даних користувача) для доступу до ресурсів.

Exception Shielding - Очищає небезпечні виняткові ситуації, замінюючи їх винятковими ситуаціями з безпечною структурою. Повертає клієнту тільки очищенні виняткові ситуації чи виняткові ситуації із безпечною структурою. Виняткові ситуації із безпечною структурою не включають конфіденціальні дані в повідомлення про виняткову ситуацію та не містять докладні записи трасування стеку, оскільки це може призвести до розголошення конфіденційних даних про внутрішні операції Веб-сервісу.

Урок 18

Урок 18. Шаблони безпеки Web-сервісів. Шифрування повідомлень і Виявлення повторів повідомлень

Data Confidentiality - Використовує шифрування для захисту конфіденційних даних повідомлення. Незашифровані дані, котрі називають відкритим текстом (plaintext), перетворюються в зашифровані дані (ciphertext). Дані шифруються за допомогою алгоритму і ключа шифрування. По досягненню місця призначення зашифрований текст перетворюється знову у звичайний текст.

Message Replay Detection - Кеширування ідентифікаторів вхідних повідомлень і використання виявлення повторів повідомлень дозволяє розпізнати та відключити повідомлення, для яких у кеші визначення повторів вже існує відповідний запис.

Урок 19

Урок 19. Шаблони безпеки Web-сервісів. Підпис повідомлень і Перевірка повідомлень

Data Origin Authentication - Використання аутентифікації джерела даних дозволяє отримувачу впевнитися, що повідомлення не були пошкоджені при передачі (цілісність даних) і що вони надходять від очікуваного відправника (аутентичність).

Message Validator - Логіка перевірки повідомлень реалізує строго визначену політику, котра установлює обов’язкові частини повідомлення запиту для його успішної обробки сервісом. Перевірка корисного навантаження XML-повідомлень на відповідність XML-схемі (XSD) дозволяє впевнитися у правильності їх структури та відповідності очікуванням сервісу-обробника. Логіка перевірки також перевіряє повідомлення на відповідність певним критеріям: перевіряється розмір повідомлення, його вміст і використані набори символів. Повідомлення, що не відповідають заданим критеріям, відхиляються.

Урок 20

Урок 20. Шаблони безпеки Web-сервісів. Розгортання

Perimeter Service Router - Спроектуйте проміжний Веб-сервіс, який буде виступати у ролі прикордонного сервісного маршрутизатора. Прикордонний сервісний маршрутизатор забезпечує зовнішній інтерфейс прикордонної мережі для внутрішніх Веб-сервісів. Він приймає повідомлення від зовнішніх програм і направляє їх на відповідний Веб-сервіс приватної мережі.

• Використовувати шаблони та правильно обирати стратегії їх застосування
• Працювати з шаблонами складених прикладних програм
• Використовувати шаблони передачі даних
• Працювати з шаблонами корпоративних рішень
• Працювати з шаблонами інтеграції
• Розробляти прикладні програми з використанням шаблонів безпеки веб-сервісів
Check mark Записатися у навчальний центр Separator Онлайн форма регістрації
Стаціонар Напівстаціонар 3 дні на тиждень
Дата початку Дата закінчення Час

Не знайшли потрібний курс в розкладі? Оформіть заявку

Стаціонар Напівстаціонар 3 дні на тиждень
Дата початку Дата закінчення Час

Не знайшли потрібний курс в розкладі? Оформите заявку