Шаблоны Java. Посетитель (Visitor)

  Рет қаралды 9,035

Vladimir Vysokomornyi

Vladimir Vysokomornyi

Күн бұрын

Шаблон Посетитель хорошо использовать в тех случаях, когда необходимо сделать какие-то операции над рядом объектов, но нужно избежать загрязнения их кода.
вКонтакте: java4you
Плейлист: • Шаблоны проектирования...
Видео: • Шаблоны Java. Посетите...

Пікірлер: 24
@music.sucks999
@music.sucks999 9 жыл бұрын
Огромнейшее спасибо! Лучшее объяснение из всех, что видел
@Po4kaKita
@Po4kaKita 4 жыл бұрын
Двумя руками!
@АртёмЯрошенко-и3е
@АртёмЯрошенко-и3е 3 жыл бұрын
Хороший урок! Я бы сказал один из лучших во всем ютубе. Мне понравилось, что вы объяснили почему и как его использовать! Так держать!)
@_.Egor._
@_.Egor._ 7 жыл бұрын
Сложно давался этот шаблон. Видео очень помогло. Спасибо!
@korbinos
@korbinos 5 жыл бұрын
Спасибо большое! Наконецто все дошло.
@guugle
@guugle 5 жыл бұрын
Это надо во всех Университетах страны преподавать))
@nikitabobyshew7927
@nikitabobyshew7927 7 жыл бұрын
Спасибо большое. Сразу стало все понятно.
@ивансемёнов-ф9й
@ивансемёнов-ф9й 9 жыл бұрын
Попутный вопрос: работа с "эклипс" с использованием консоли - это всё понятно, а вот что касается командной строки в Windows 8... Как можно добиться компиляции программы, написанной в блокноте, с помощью командs javac?
@programm4you
@programm4you 9 жыл бұрын
+иван семёнов а я разве это не показывал в самых первых уроках? посмотрите раздел "Основы Java в примерах на Eclipse"
@ПашаХЗ-м8й
@ПашаХЗ-м8й 5 жыл бұрын
Почти, хорошо. Но лучше бы показали что происходит, если визитер не использовать. Что это приводит к процедурному стилю определения типа элемента. И чтобы избавиться от процедурного кода выбора функции-расширения с левого класса в зависимости от конкретного типа из Element (element instanceOf ConcreteEl), придумали хак -- accept. Подобное я использовал в шаблонах со специализацией на C++ когда делал умный форматтер строк на подобие String.Format в C#. И ещё не услышал критики этого паттерна. Тот же декоратор способен к расширению функционала без изменения базовых элементов.
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil 2 жыл бұрын
"от процедурного кода выбора функции-расширения с левого класса в зависимости от конкретного" рекомендую делать рефакторинг таких сложных предложений перед публикацией
@nikolaygoltsov1782
@nikolaygoltsov1782 8 жыл бұрын
Шел я шел и ударился о колесо,тьфу колесо ударилось об меня))) за урок спасиб.\ P.S. После обновления Eclipse до Maps 2, Eclipse перестал видеть библиотеки импорта во многих проектах, а при создании нового класса вообще чушь порет типа методы не определены. Даже Hello Word не запускает))). Постоянно ругается на созданный ранее тестовый класс, который кстати удален. Как это исправить?
@mrMarseleene
@mrMarseleene 6 жыл бұрын
поднялся, mac купил :)
@PassageGamesRus
@PassageGamesRus 8 жыл бұрын
Почему бы просто у посетителя не вызвать метод посети и передать деталь?
@MrCoolDolphin
@MrCoolDolphin 7 жыл бұрын
Думаю потому что автор не верно показал шаблон. Не должно быть перегруженых методов. Сам еще не понял этот шаблон, но чуйка говорит что тут явно лажа.
@lichlichi
@lichlichi 6 жыл бұрын
На 11:27 объяснение этому. Вы чем слушали?)
@cold_heart_i
@cold_heart_i 6 жыл бұрын
@@MrCoolDolphin диаграмму посмотри, как там не может быть перегруженных методов, когда явно в книгах пишут что могут быть эти методы перегружены
@MsDima9999
@MsDima9999 4 жыл бұрын
@@cold_heart_i так у него чуйка)))
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil 2 жыл бұрын
@@MrCoolDolphin "Сам еще не понял этот шаблон, но чуйка говорит что тут явно лажа." сильно
@paradise_cracked
@paradise_cracked 7 жыл бұрын
эх и жесть) hight level
@MrCoolDolphin
@MrCoolDolphin 7 жыл бұрын
Ну это же жесть! Точно не должно быть перегруженых методов! Автор вы не правильно объяснили шаблон! У вас получилось что при добавлении нового элемента придется править всех наших визитеров. Это не правильно! Шаблон скорее всего, для того и существует чтобы решать эту задачу переписывания визитеров при добавлении элементов. То есть добавили мы элимент или визитера мы ничего не переделываем все само работает.
@maksimvishnyak137
@maksimvishnyak137 7 жыл бұрын
Прежде чем орать не разобравшись и полагаться на "чуйку", почитали бы первоисточник шаблонов проектирования(GOF Design Patterns), там в диаграмме шаблона, интерфейс визитора вообще с разными методами, для каждого конкретного элемента. Используя перегруженные методы в объяснении, автор только улучшил этот шаблон.
@MsDima9999
@MsDima9999 4 жыл бұрын
Сам еще не понял этот шаблон, но чуйка говорит что тут явно лажа. ХАХАХХАХАХХА))))))))))0
@lichlichi
@lichlichi 6 жыл бұрын
Всё хорошо, но акСЕпт по ушам режет....
Шаблоны Java. Итератор (Iterator)
18:02
Vladimir Vysokomornyi
Рет қаралды 11 М.
Шаблоны Java. Стратегия (Strategy)
18:05
Vladimir Vysokomornyi
Рет қаралды 15 М.
Маусымашар-2023 / Гала-концерт / АТУ қоштасу
1:27:35
Jaidarman OFFICIAL / JCI
Рет қаралды 390 М.
How to have fun with a child 🤣 Food wrap frame! #shorts
0:21
BadaBOOM!
Рет қаралды 17 МЛН
Шаблоны Java. Хранитель (Memento)
13:11
Vladimir Vysokomornyi
Рет қаралды 8 М.
Дмитрий Нестерук - Черная магия паттерна «Посетитель»
1:05:34
DotNext — конференция для .NET‑разработчиков
Рет қаралды 5 М.
Великовозрастный программист. Стоит ли идти в IT в 40 лет
8:17
Дилетант широкого профиля
Рет қаралды 21 М.
КАК УСТРОЕН TCP/IP?
31:32
Alek OS
Рет қаралды 289 М.
как тебе будут продавать в 2025
16:22
Тихон Смирнов
Рет қаралды 470 М.
Шаблоны проектирования: Посетитель. Visitor.
13:09
Григорий Колесников
Рет қаралды 3,1 М.
Шаблоны Java. Посредник (Mediator)
21:56
Vladimir Vysokomornyi
Рет қаралды 10 М.
Шаблоны Java. Декоратор (Decorator / Wrapper)
27:05
Vladimir Vysokomornyi
Рет қаралды 33 М.
Маусымашар-2023 / Гала-концерт / АТУ қоштасу
1:27:35
Jaidarman OFFICIAL / JCI
Рет қаралды 390 М.