Flyweight
ITVDN: курси програмування
Відеокурси з
програмування

Замовити дзвінок

Вибери свою IT спеціальність

Підписка

Замовити дзвінок

+38 099 757 27 82

×

Ви відкрили доступ до тесту! Пройти тест

Ви дійсно бажаєте відкрити доступ до тестування за курсом Шаблони проектування на 40 днів?

ВІДЕОУРОК № 17. Flyweight

Для перегляду повної версії відеокурсу, онлайн тестування та отримання доступу до додаткових навчальних матеріалів придбайте курс Придбати курс
Для перегляду всіх відеокурсів ITVDN, представлених у Каталозі, а також для отримання доступу до навчальних матеріалів та онлайн тестування придбайте підписку Придбати підписку

У даному відео уроці розглядається структура курсу "Шаблони проектування" та проводиться короткий огляд книги "Прийоми об'єктно-орієнтованого проектування". Паттерни проектування” з обговоренням її достоїнств і недоліків. Також автор презентує книгу «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 (Відвідувач), який дозволяє одноманітно обійти набір елементів з різнорідними інтерфейсами (тобто набір об'єктів різних класів не наводячи їх до загального базового типу), а також дозволяє додати новий метод (функцію) до класу об'єкта, при чому не змінюючи сам клас цього об'єкта.

Читати далі...
ПОКАЗАТИ ВСЕ
основні теми, що розглядаються на уроці
0:03:07
Метафора
0:07:40
Программный код метафоры
0:13:00
Паттерн Flyweight в платформе dot net
0:18:55
Пул интернирования строк
0:21:30
Паттерн Flyweight в библиотеке net framework
0:28:48
Описание паттерна по книге (ошибки и недочеты)
0:29:36
Структура паттерна на языке UML
0:33:54
Структура паттерна на языке C#
0:42:00
Использвание паттерна
0:45:46
Отношения и результаты
0:48:40
Назначение паттерна
ПОКАЗАТИ ВСЕ

Відгуки наших студентів

DOU

Відгуки в DOU

4,9/5 - 200 відгуків

Evgeniy Brizhevskiy
Evgeniy Brizhevskiy
5/5
Пройшов курс Основы работы с Git. Чудовий курс для початківців. Команди для роботи пояснені у зрозумілій формі з живими прикладами. Дякую за курс.
Почитати оригінал
Facebook

Відгуки в Facebook

5,0/5 - 707 відгуків

Виталий Кравченко
Виталий Кравченко
5/5
Прошел курс JavaScript Стартовый на сайте ITVDN. Прекрасная подача материала, много практики. Особенно благодарность преподавателю Дмитрию Охрименко - очень хорошо объясняет материал. Рекомендую!
Почитати оригінал
Google

Відгуки в Google

4,9/5 - 836 відгуків

Дмитро Цюприк
Дмитро Цюприк
5/5
Замечательные курсы от ITVDN. Преподаватели объясняют сложные вещи простым языком. Начал проходить курс JavaScript стартовый, очень понравилось. Буду рекомендовать эту платформу знакомым.
Почитати оригінал

Купуй підпискуз доступом до всіх курсів та сервісів

Бібліотека сучасних IT знань у зручному форматі

Вибирай свій варіант підписки залежно від завдань, що стоять перед тобою. Але якщо потрібно пройти повне навчання з нуля до рівня фахівця, краще вибирати Базовий або Преміум. А для того, щоб вивчити 2-3 нові технології, або повторити знання, готуючись до співбесіди, підійде Пакет Стартовий.

Стартовий
  • Усі відеокурси на 3 місяці
  • Тестування з 10 курсів
  • Перевірка 5 домашніх завдань
  • Консультація з тренером 30 хв
59.99 $
Придбати
Преміум Plus
  • Усі відеокурси на 12 місяців
  • Тестування з 24 курсів
  • Перевірка 20 домашніх завдань
  • Консультація з тренером 120 хв
  • Завантаження відео уроків
149.99 $
199.99 $
Придбати
Акція
Базовий
  • Усі відеокурси на 6 місяців
  • Тестування з 16 курсів
  • Перевірка 10 домашніх завдань
  • Консультація з тренером 60 хв
89.99 $
Придбати

Запитання і відповіді

У чому перевага онлайн курсів програмування у порівнянні з офлайн?
Яка вартість навчання?
Скільки часу знадобиться, щоб опанувати програмування?
Скільки часу знадобиться, щоб опанувати ІТ-спеціальність?
З якого курсу розпочинати навчання?
Як керувати своїм часом та організувати ефективне онлайн-навчання з тренером?
Чи є у вас допомога з працевлаштуванням після закінчення навчання?
Чи можливе персональне навчання з тренером ITVDN?
З якого віку можна навчатися на платформі?
Чи потрібні знання англійської мови для навчання?Чи потрібні знання англійської мови для навчання?
Якого рівня можна досягти, пройшовши навчання зі спеціальності?
Коли закінчиться підписка, що далі? Доступу до уроків не буде?
Чи додаються знижки на придбання підписки?
У чому перевага онлайн курсів програмування у порівнянні з офлайн?

Онлайн курси мають низку переваг перед офлайн форматом:

  1. Незалежність від локації. Онлайн дозволяє навчатися де завгодно.
  2. Збереження часу та грошей на дорогу. Ви економите час та гроші з поїздок на курси та назад.
  3. Онлайн курси дешевші. Немає потреби в приміщенні та ноутбуках для студентів, тому вартість нижча
  4. Комфортний темп навчання, постійний доступ до інформації. Навчання у вашому темпі будь-коли і будь-де 24/7. Також є доступ до записаних уроків, чого немає в офлайн форматі.
Яка вартість навчання?

На ITVDN є 2 формати навчання: Live Online та відео курси. Ціна навчання залежить від обраного вами способу навчання.

Якщо ви хочете навчатися самостійно у форматі відео курсів, вартість навчання складе в середньому 10-15 USD на місяць в залежності від обраного вами пакету підписки.

Live Online – це онлайн навчання з тренером у групах разом із іншими студентами. Навчання у даному форматі коштує в середньому 6-7 USD за одну годину.

Скільки часу знадобиться, щоб опанувати програмування?

Залежить від того, скільки уваги програмуванню ви виділятимете щоденно, яка саме це мова і який у вас досвід кодингу. Середній час на опанування однієї мови за умови регулярних занять хоча б 2 год/день:

  • новачки – від 3 до 6 місяців;
  • ті, хто мають базові знання з іншої мови – від 1 до 3 місяців;
  • професійні програмісти – до 1 місяця.

Найкращий варіант інвестиції часу – 8 годин щоденно (20% теорії + 80% практики). Більше практики – швидше опанування програмування.

Скільки часу знадобиться, щоб опанувати ІТ-спеціальність?

Для опанування ІТ-спеціальності треба виділити не менше 500 годин, з яких близько 100 годин – на перегляд відео уроків або відвідування онлайн занять із ментором, а 400 – на виконання практичних завдань за пройденими темами.

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

Також тривалість навчання залежить від обраної вами спеціальності, оскільки набір технологій, які ви маєте вивчити, буде різним. 

З якого курсу розпочинати навчання?

Починати варто з тих, які містять в назві слово “Стартовий”. Такі курси мають вступний матеріал для знайомства з мовою або технологією.

Якщо ж ви плануєте навчатися за конкретною спеціальністю у форматі відео курсів, перейдіть на сторінку спеціальності і прокрутіть до заголовку “Відео курси за спеціальністю …”. Нижче буде список відео курсів, котрі відсортовано в порядку необхідності вивчення.

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

Як керувати своїм часом та організувати ефективне онлайн-навчання з тренером?

Якщо ви обираєте Live Online навчання з тренером, все дуже просто:

  • відвідуйте всі заняття, вчасно виконуйте д/з;
  • додатково дивіться відео уроки на ITVDN;
  • після кожного уроку проходьте коротке тестування;
  • практикуйтеся в Інтерактивному практикумі;
  • спілкуйтеся з одногрупниками в ході вирішення д/з, задавайте питання ментору на уроках та поза ними;
  • в кінці кожного курсу складайте екзамен на TestProvider (та отримуйте Сертифікати);
  • в кінці всього навчання проходьте екзамен зі спеціальності і отримайте Диплом.
Чи є у вас допомога з працевлаштуванням після закінчення навчання?

Ми маємо спеціальний розділ – “Вакансії”, котрий допомагає нашим студентам шукати першу роботу в ІТ. Детальніше про можливості та призначення розділу за посиланням.

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

Чи можливе персональне навчання з тренером ITVDN?

На жаль, дана послуга на ITVDN не передбачена, однак ви можете замовити індивідуальну консультацію з нашим ментором. Деталі ви знайдете за посиланням.

З якого віку можна навчатися на платформі?

На ITVDN відсутні курси для дітей, тому комфортний вік для початку навчання за нашими матеріалами – від 14 років.

Чи потрібні знання англійської мови для навчання?Чи потрібні знання англійської мови для навчання?

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

Якого рівня можна досягти, пройшовши навчання зі спеціальності?

На ITVDN можна пройти повне навчання з нуля до спеціаліста рівня Trainee/Junior. Якщо ви вже практикуючий розробник, наші відео курси допоможуть поглибити ваші знання до рівня Middle.

Коли закінчиться підписка, що далі? Доступу до уроків не буде?

Після закінчення дії вашої підписки доступ до відео курсів, на жаль, буде закрито. Однак ви зможете користуватися тими навчальними матеріалами, які ви завантажили на свій девайс під час навчання.

Чи додаються знижки на придбання підписки?

Ні, знижки не додаються.

Notification success