Всё по существу, поставленная речь. приятно и смотреть и слушать. Спасибо большое!
@EugeneSuleimanov4 жыл бұрын
Спасибо за отзыв!
@МайкиТи-в7м3 жыл бұрын
Объясняете невероятно хорошо, смотрю 4 ваше видео про паттерны. Большое Вам спасибо!
@simple_62308 жыл бұрын
Super kanal! Mnogo interesnoi informacii! Spasibo Eugene!
@EugeneSuleimanov8 жыл бұрын
Пожалуйста ) Спасибо за отзыв.
@zeretteompany30944 жыл бұрын
Отличный урок. Рекомендую его всем Желаю автору канала не забрасывать его.
@alexeysamsonov7928 жыл бұрын
Спасибо за видео.! То что нужно!
@EugeneSuleimanov8 жыл бұрын
Пожалуйста, Алексей.
@azerphoenix3 жыл бұрын
Отличный урок! Спасибо)
@dreamer_vi9053 жыл бұрын
Всё четко!
@SplashDmg20114 жыл бұрын
Подскажите пожалуйста название вашего плагина для отображения UML-диаграмм.
@EugeneSuleimanov4 жыл бұрын
Это стандартный плагин, который входит в ultimate версию intellij idea. В community, насколько я знаю, его нет.
@КириллПешин4 жыл бұрын
@@EugeneSuleimanov А не подскажете где его искать... Может конечно его попросту нет в Ultimate Beta, но, что-то не нахожу...
@Pakmen_gamer6 ай бұрын
+вайб, респект
@EugeneSuleimanov6 ай бұрын
Спасибо за поддержку!
@buchs48194 жыл бұрын
в методе main в первых двух случаях, когда мы добавляем вакансии (addVacancy) метод notifyObservers не реализуется, потому что ни одного observer еще не существует в списке. Я правильно понимаю, что здесь мы должны обрабатывать ошибку nullPointerException??
@kafychannel3 жыл бұрын
Нет, Nullpointer мог выскочить, если бы мы сделали так List observers; Не проиниуиализировав наш список, а проверку на пустоту подписчиков ты можешь проверять через метод size, к примеру, notifyObservers(List) { if(observerd.size == 0) { println("Подписчиков нету, некого уведомлять о новых вакансиях " ) } else ( Проходимся через цикл for each, как в видео и у каждого обсервера вызываем onHandleEvent(vacancies) ) }
@Revolted14Ай бұрын
Спасибо :)
@EugeneSuleimanovАй бұрын
@@Revolted14 спасибо за отзыв!
@Andrzej39352 жыл бұрын
Большое спасибо
@vladder23125 жыл бұрын
А если у меня всё-таки один-ко-многим связь, мне в классах наблюдателях нужно везде создавать новый объект класса наблюдаемого?
@TheKifsif5 жыл бұрын
Классы, на которые подписываются, называются субъектами (Subject), а не наблюдаемыми. Подробнее здесь: на pcask.ru/programmirovanie/pattern-observer/
@Михаил-д5ж6ю2 жыл бұрын
у этого паттерна корреляция с Медиатором есть. Чем-то схожи в функциональности.
@AndreyDeveloper8 жыл бұрын
Очень хорошее видео. А мог бы автор ещё отснять ролик по шаблону проектированию делегат? Очень надо.
@yevhenshevtsov60565 жыл бұрын
зачем в методах постоянно указывать this?
@EugeneSuleimanov5 жыл бұрын
Своего рода - игра в капитана очевидность ) А на самом деле - и без этого будет работать - вы правы
@ДенисЩурин-щ1к5 жыл бұрын
@@EugeneSuleimanov я думал может это так принято делать, чтобы акцентировать внимание на этом. Но походу в реальных проектах никто лишнее this не будет писать.
@Олег-п6ш3ч4 жыл бұрын
@@EugeneSuleimanov thanks
@Alex-gn6xb3 жыл бұрын
@@ДенисЩурин-щ1к не будет тк путает
@serik38184 жыл бұрын
Как срабатывает notifyObservers?)))
@dreamer_vi9053 жыл бұрын
когда добавляется или удаляется вакансия, происходит вызов notifyObservers(). Этот метод вызывает у всех наблюдателей метод handleEvent().
@aleksei46044 жыл бұрын
Очень похож на медиатор
@Sk-gb2hx3 жыл бұрын
+
@olletred5364 жыл бұрын
не стучи так по клаве кнопки сломаешь
@EugeneSuleimanov4 жыл бұрын
Постараюсь )
@АзатАбдуллин-ш6в6 жыл бұрын
Хороший ролик. Только по клаве бьешь аж уши режет)
@ionelvaselescu66043 жыл бұрын
Громче! Надо еще громче стучать по этим долбаным клавишам, потому что еще есть куда сильнее бесить.
@rossnobody7 жыл бұрын
Чем данная реализация лучше от элементарного расширение интерфейсом Observer docs.oracle.com/javase/7/docs/api/java/util/Observer.html и переопределении метода update?
@EugeneSuleimanov7 жыл бұрын
Василий Решетняк Данная реализация не должна быть лучше какой-либо. Ее цель - показать основные аспекты шаблона проектирования "Наблюдатель".
@rossnobody7 жыл бұрын
моя ошибка) Не корректно поставил вопрос. Чем может быть лучше в плане поддержки и расширении кода? У меня задача "наблюдать" за несколькими полями объекта, которые изменяются не всегда все сразу, а в зависимости от бизнес логики. В дальнейшем необходимо вести обновление записи в локальной БД с учетом измененного состояния поля
@EugeneSuleimanov7 жыл бұрын
В данном случае, конечно же, лучше использовать уже готовые реализации.
@qwerty-hc7od5 жыл бұрын
Коммент больше не к автору комментария, а больше для тех, кто смотрит в 2019 году и позже. Обратите внимание, что интерфейс Observer и класс Observable являются deprecated, начиная с Java9. Они рекомендуют (это прямо написано в комментарии в коде JDK), что стоит использовать, например, очереди из пакета java.util.concurrent. docs.oracle.com/javase/9/docs/api/java/util/Observable.html Хорошие и при этом простые, на мой взгляд, примеры, как использовать очереди в паттерне Издатель-Подписчик (он же Наблюдатель) в многопоточных приложениях есть, например, вот тут www.mkyong.com/java/java-blockingqueue-examples/
@КириллПешин4 жыл бұрын
@@qwerty-hc7od Привет из 2020 :-) даже в этом году, может потребоваться этот шаблон :-) Для того, что бы знать, что он есть... Или если ты до сих пор на Java8 в продакшене :-)