Курс 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
Використовувати шаблони передачі даних, корпоративних рішень, інтеграції, безпеки
Визначати, в якій ситуації варто використовувати той чи інший шаблон
Покращувати якість коду та полегшувати його читання
Спробуй безкоштовно
Повноцінне заняття з тренером
Що входить до курсу
40 годин живого навчання з тренером
Практичні заняття та перевірка ДЗ
Спілкування з групою
Підтримка ментора та асистента
Тестування та Сертифікат
Відео курс від ITVDN
Як відбувається навчання
Живі онлайн заняття
з тренером
Виконання
домашніх завдань
Перевірка ДЗ
та фідбек
Тестування
та сертифікація
Сертифікат після закінчення курсу
Сертифікат після закінчення курсу
Готовий
почати навчання?
Відправляй заявку та зафіксуй свою знижку на навчання
Залишилися питання?
Підкажемо, з чого почати, яку спеціальність обрати і як знайти першу роботу.
Про курс Microsoft Patterns & Practices
Даний курс орієнтований, основним чином, на розробників та архітекторів рішень, які потребують посібник по проектуванню прикладних програм на платформі Microsoft .NET Framework.
Курс буде корисним будь-якому спеціалісту, який цікавиться архітектурою та дизайном програм, бажає розібратися у шаблонах проектування, які пропонуються групою “Patterns & Practice” та складають основу гарного дизайну програм на платформі Microsoft .NET Framework