×
Ви дійсно бажаєте відкрити доступ до тестування за курсом Шаблони проектування на 40 днів?
ВІДЕОУРОК № 17. Flyweight
У даному відео уроці розглядається структура курсу "Шаблони проектування" та проводиться короткий огляд книги "Прийоми об'єктно-орієнтованого проектування". Паттерни проектування” з обговоренням її достоїнств і недоліків. Також автор презентує книгу «Design Patterns via C#», яка у доступному, зрозумілому та спрощеному вигляді пояснює призначення та застосування патернів у створенні програмного забезпечення.
Технічно, патерни (шаблони) проектування - це лише абстрактні приклади правильного використання невеликої кількості комбінацій найпростіших технік ООП. Відео урок надасть прості приклади, що показують правильні способи організації взаємодій між класами чи об'єктами.
Цей відео урок з "Курсу шаблони проектування" присвячений UML (англ. Unified Modeling Language - уніфікована мова моделювання) - мова графічного опису для об'єктного моделювання в галузі розробки програмного забезпечення. UML є мовою широкого профілю, це відкритий стандарт, що використовує графічні позначення для створення абстрактної моделі системи, званої UML-моделлю. Даний відеоурок познайомить вас з базовими можливостями та підходами до проектування за допомогою мови UML.
Даний відео урок з курсу "Шаблони проектування" познайомить Вас з поняттям кінцевого автомата, варіантами його опису та логікою побудови найпростіших кінцевих автоматів.
Відео урок розкриє поняття парадигми програмування, яка є сукупністю ідей та понять, що визначають стиль написання комп'ютерних програм. Це спосіб концептуалізації, що визначає організацію обчислень та структурування роботи, що виконується комп'ютером. Цей відеоурок розповість Вам про основні сучасні парадигми об'єктно-орієнтованого програмування, що підтримуються платформою .NET.
Даний відео урок дає базові знання про регулярні граматики, та основні способи їх застосування у програмуванні.
Відео урок присвячений патерну Abstract Factory, який надає клієнту інтерфейс (набір методів) для створення сімейств взаємопов'язаних чи взаємозалежних об'єктів-продуктів, при цьому приховує від клієнта інформацію про конкретні класи цих об'єктів-продуктів.
Відеоурок присвячений патерну проектування Builder, який допомагає організувати покрокову побудову складного об'єкта-продукту так, що клієнту не потрібно розуміти послідовність кроків і внутрішній пристрій об'єкту-продукту, що будується, при цьому в результаті одного і того ж процесу конструювання можуть виходити об'єкти-продукти з різним уявленням (Внутрішнім пристроєм).
Відео урок присвячений шаблону проектування Factory Method, який надає абстрактний інтерфейс (набір методів) для створення об'єкта-продукту, але залишає можливість розробникам класів, що реалізують цей інтерфейс самостійно прийняти рішення про те, екземпляр якого конкретного класу-продукту створити. Паттерн Factory Method дозволяє базовим абстрактним класам передати відповідальність за створення об'єктів продуктів своїм похідним класам.
Відеоурок розповість про патерн Prototype, який надає можливість створення нових об'єктів-продуктів (клонів), використовуючи техніку клонування (копіювання) раніше створеного об'єкта-оригіналу-продукту (прототипу). Паттерн Prototype – дозволяє встановити різні види (класи-види) об'єктів-продуктів (клонів), через налаштування стану кожного нового створеного клону. Класифікація клонів-продуктів провадиться на підставі відмінності їх станів.
Відео урок познайомить із шаблоном проектування Singleton, який гарантує, що клас може мати лише один екземпляр. В окремому випадку надається можливість наявності, заздалегідь визначеної кількості екземплярів.
Відео урок присвячений патерну Adapter, він перетворює інтерфейс (набір імен методів) одного класу на інтерфейс (набір імен методів) іншого класу, на який очікують клієнти. Адаптер забезпечує спільну роботу класів із несумісними інтерфейсами, така робота без Адаптера була б неможлива.
Відео урок присвячений патерну Bridge, який дозволяє відокремити абстракцію від елементів її реалізації так, щоб і абстракцію, і реалізацію можна було змінювати незалежно один від одного.
Урок розповість про шаблон проектування Composite, який складає з об'єктів деревоподібні структури для представлення ієрархій «частина – ціле». Дозволяє клієнтам однаково трактувати індивідуальні об'єкти (листя) та складові об'єкти (гілки).
Відео урок присвячений патерну Decorator (декоратор), який динамічно (під час виконання програми) додає об'єкту нові можливості (стан та/або поведінка). Композиція, що використовується при реалізації патерну Decorator, є гнучкою альтернативою успадкування (породження підкласів) з метою розширення функціональності.
Відео урок присвячений шаблону проектування Facade, який надає уніфікований інтерфейс (набір імен методів), замість інтерфейсу деякої підсистеми (набору взаємопов'язаних класів або об'єктів).
Відео урок присвячений шаблону проектування Flyweight, який описує правильне застосування техніки створення об'єктів, що розділяються, для отримання можливості ефективного використання великої кількості об'єктів.
Відео урок присвячений шаблону проектування Proxy, який надає об'єкт-заступник контролю доступу до іншого об'єкту.
Відео урок присвячений патерну проектування Chain of Responsibility, який дозволяє уникнути прив'язки об'єкта-відправника запиту до об'єкта-одержувача запиту, даючи шанс обробити цей запит кільком об'єктам. Паттерн Chain of Responsibility зв'язує в ланцюжок об'єкти-одержувачі запиту і передає запит уздовж цього ланцюжка, поки один з об'єктів, що становлять цей ланцюжок не обробить запит, що передається.
Відео урок розповість про шаблон проектування Command (Команда), який дозволяє подати запит у вигляді об'єкта, дозволяючи клієнту конфігурувати запит (задаючи параметри його обробки), ставити запити у чергу, протоколювати запити, і навіть підтримувати скасування операцій.
Відео урок присвячений шаблону проектування Interpreter (інтерпретатор), який дозволяє сформувати об'єктно-орієнтоване уявлення граматики для заданої мови, а також описує правила створення механізму інтерпретації (тлумачення) речень цієї мови.
Відео урок присвячений шаблону проектування Iterator (Ітератор), який представляє зручний та безпечний спосіб доступу до елементів колекції (складеного об'єкта), при цьому не розкриваючи внутрішнього представлення цієї колекції
Відео урок присвячений шаблону проектування Mediator (посередник), який надає об'єкт-посередник, що приховує спосіб взаємодії багатьох інших об'єктів-колег. Об'єкт-посередник забезпечує слабку пов'язаність системи, позбавляючи об'єктів-колег від необхідності явно посилатися один на одного, дозволяючи тим самим незалежно змінювати взаємодії між об'єктами-колегами.
Відео урок присвячений поведінковому шаблони проектування Memento (зберігач), який не порушуючи інкапсуляції, фіксує та виносить за межі об'єкта-господаря його внутрішній стан так, щоб пізніше цей винесений стан можна було відновити у вихідному об'єкті-господарі.
Відео урок присвячений шаблону проектування Observer (спостерігач), який використовує зв'язок-відносини залежності один до багатьох (один видавець до багатьох передплатників). При зміні стану одного об'єкта (видавця), всі залежні від нього об'єкти (передплатники) сповіщаються про це та автоматично оновлюються.
Відео урок розповість про шаблон проектування State (Стан), який дозволяє об'єкту змінювати свою поведінку залежно від стану. Поведінка об'єкта змінюється настільки, що створюється враження, що змінився клас об'єкта.
Відео урок присвячений шаблону проектування Strategy (Стратегія), який визначає набір алгоритмів (часто схожих за діяльністю), інкапсулює кожен з наявних алгоритмів (в окремий клас) і робить їх підмінними. Паттерн Strategy дозволяє замінювати алгоритми без участі клієнтів, які використовують ці алгоритми.
Відео урок присвячений патерну проектування Template Method, який формує структуру алгоритму та дозволяє у похідних класах реалізувати, замістити (перекрити) чи перевизначити певні кроки (ділянки) алгоритму, не змінюючи структуру алгоритму загалом.
Відео урок присвячений шаблону проектування Visitor (Відвідувач), який дозволяє одноманітно обійти набір елементів з різнорідними інтерфейсами (тобто набір об'єктів різних класів не наводячи їх до загального базового типу), а також дозволяє додати новий метод (функцію) до класу об'єкта, при чому не змінюючи сам клас цього об'єкта.