JavaScript Паттерны #19 - Visitor (Посетитель)

preview_player
Показать описание
#YauhenK #webDev #JS #JSPatterns

Всех приветствую в курсе «JavaScript Паттерны».
В данном видео-курсе мы с вами рассмотрим самые распространённые паттерны проектирования, которые используются при разработке.
Паттерны, или шаблоны - это определённые, зарекомендовавшие себя конструкции, которые служат для решения типовых задач программирования.
Рассматривать мы их с вами будем на примере языка JavaScript в синтаксисе ES6.

✒ Репозиторий курса:

✒ Используемые ресурсы и инструменты:

✒ Полезные ссылки:

✒ Полный список готовых и планируемых курсов:

✒ Автор курса:

Рекомендации по теме
Комментарии
Автор

Откуда тогда метод accept, если не нужно исходные классы изменять? Зачем он в оригинальных классах?

flipix
Автор

я так и не понял как визитор не изменяет сами классы, если для добавления функционала нужно залезть во все классы и прописать логику для vizit

efimnovikov-glushkov
Автор

В чем преимущество метода accept? Можно же просто писать exportVisitor(tesla) вместо tesla.accept(exportVisitor)

andreypelykh
Автор

Не в тему. но всё же. У вас идеальная цветовая схема редактора. Есть ли нечто подобное для VSC?

after-lifepyre
Автор

Здравствуйте! Все круто. Единственное, что не до конца понял, так это откуда берется свойство export (auto.export) и как оно используется?

FFizmaTT
Автор

передавая контекст вы получите доступ как к публичным так и к приватным методам класса.

arthurartsabliuk
Автор

Счас в auto.export undefined попадает, который возвращает console.log
Так написал:
function exportVisitor(auto) {
if (auto instanceof Bmw)
auto.export = `Exported data: ${auto.info()}`;
if (auto instanceof Audi)
auto.export = `Exported data: ${auto.info()}`;
}
...
bmw.accept(exportVisitor);
console.log(bmw.export); // Exported data: It is a BMW car!

olegmaz
Автор

3:08 этих функций должно быть столько же сколько обрабатывается классов

Das.Kleine.Krokodil
Автор

для чого виводити в консоль `tesla.accept(exportVisitors) `якщо `accept` нічого не повертає? а так то все супер, дуже корисний плейлист! дякую!

ivanholovach