# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
Мы начинаем знакомство с очень популярным и востребованным шаблоном проектирования - Наблюдатель / Observer. По-другому он называется Подчинённые / Dependents. Этот шаблон активно используется в событийно-ориентированных языках программирования. На следующих уроках мы создадим несколько программ, на примере которых лучше уясним суть этого шаблона проектирования. Отчёт отправил: 3922. Александр Выполнено за 12 мин. [Показать отчёт] Научился: Наблюдатель уведомляет все заинтересованные стороны о произошедшем событии или об изменении своего состояния. Строго говоря, это поведенческий шаблон проектирования, который определяет зависимость между объектами типа «один ко многим» таким образом, что при изменении состояния одного из объектов все зависящие от него оповещаются об этом. |
|||||
2 | Observer - School Bell - Student |
1 тест |
|||
Мы начинаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы реализуем интерфейс Observer(), класс OStudent() и реализуем базовый функционал будущей программы. Отчёт отправил: 3922. Александр Выполнено за 22 мин. [Показать отчёт] Научился: Создал студентов типа Observer |
|||||
3 | Observer - School Bell - Sound Bell |
|
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы реализуем класс OBell(), который будет имитировать школьный звонок. Отчёт отправил: 3922. Александр Выполнено за 42 мин. [Показать отчёт] Научился: Реализовал звук звонка Сложности: Звонок никак не хотел звонить. Пришлось искать решение на Stackowerflow Звуковой файл поместил в ресурсы, а обращение к нему сделал следующим образом InputStream is = getClass().getResourceAsStream(fileName); AudioInputStream audioIn = AudioSystem.getAudioInputStream(new BufferedInputStream(is)); |
|||||
4 | Observer - School Bell - Porter |
1 тест |
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы приступаем к реализации интерфейса Observable() и его класс Porter() implements Observable. Отчёт отправил: 3922. Александр Выполнено за 22 мин. [Показать отчёт] Научился: Добавил Observable |
|||||
5 | Observer - School Bell - java.util.Observer |
|
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы переделаем нашу программу с использованием системной библиотеки для реализации Observer/Observable(). Отчёт отправил: 3922. Александр Выполнено за 28 мин. [Показать отчёт] Научился: Просто посмотрел урок, но решил пока ничего не переделывать. Сложности: Начиная с версии Java 9 класс Observable и интерфейс Observer объявлены, как deprecated, т.е. устаревшими. В документации написано, что модель событий, поддерживаемая Observer и Observable, весьма ограничена, порядок уведомлений, доставляемых Observable, не определен, а изменения состояния не находятся в однозначном соответствии с уведомлениями. В качестве более продвинутой событийной модели рекомендуется использовать пакет java.beans. Для надежного и упорядоченного обмена сообщениями между потоками рассмотреть возможность использования одной из параллельных структур данных в пакете java.util.concurrent. Для программирования в стиле реактивных потоков - стрим API. |
|||||
6 | Observer - School Bell - java.util.Observable |
1 тест |
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы воспользуемся системным классом Observable(). Отчёт отправил: 3922. Александр Выполнено за 32 мин. [Показать отчёт] Научился: Использовал Observable и Observer из стандартной библиотеки. |
|||||
7 | Observer - School Bell - Study and Break |
|
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы завершаем создание программы "Школьный звонок". Осталось рассмотреть дополнительную возможность передачи параметров. Отчёт отправил: 3922. Александр Выполнено за 17 мин. [Показать отчёт] Научился: Использовал два типа событий Study и Break |
|||||
8 | Observer - Sensor - Visaginas |
1 тест |
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы создадим программу информирования о погоде. Для этого мы создадим класс Sensor(), который будет узнавать текущую температуру и информировать об этом тех, кому это нужно и при необходимых значениях температуры. Отчёт отправил: 3922. Александр Выполнено за 24 мин. [Показать отчёт] Научился: Создал класс Sensor наследованный от Observerable и проверил его работу в программе. |
|||||
9 | Observer - Sensor - Person |
|
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На прошлом уроке мы создали класс Sensor(), который рассылает информацию о температуре всем, кому это необходимо. На этом уроке мы создадим классы Console() и Person() как получателей информации о температуре. Отчёт отправил: 3922. Александр Выполнено за 18 мин. [Показать отчёт] Научился: Создал два слушателя события с нашего "датчика" температуры. |
|||||
10 | Observer - Sensor - Cat File |
1 тест |
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы создадим класс Cat(), который будет создавать файл "cat.txt" при 18 градусах и удалять его при 0 градусов. Отчёт отправил: 3922. Александр Выполнено за 24 мин. [Показать отчёт] Научился: Добавил в качестве слушателя класс Cat, который реагирует на определённую температуру созданием и удалением файла cat.txt в корневой директории проекта. |
|||||
11 | Observer - Sensor - Banner |
|
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы вспомним картинку, с которой начиналась наша серия уроков. Чтобы реализовать что-то похожее, мы воспользуемся классом FacadeMotivator(), которые реализовали во время прохождения Шаблона Проектирования: "Facade". Отчёт отправил: 3922. Александр Выполнено за 1 час. 0 мин. [Показать отчёт] Научился: Нарисовал экран индикатора температуры в виде графического файла с использованием ранее написанного кода курса по паттерну Facade. |
|||||
12 | ФИНАЛЬНЫЙ УРОК |
без видео 3 теста |
|||
Поздpaвляю! Твoя зaдaча - прoверить cебя и пpойти тест, см. вкладку "Тест". Напиши отзыв или видеообзор по этому видеокурсу. Отчёт отправил: 3922. Александр Выполнено за 4 мин. [Показать отчёт] Научился: Хороший курс, не большой и очень понятный! Как работает паттерн объясняется на двух примерах, что бы наверняка закрепить пройденный материал. Рекомендую пройти этот курс, а так же остальные курсы по паттернам проектирования. |
|||||
13 | VIP - Observer - Sensor - Alert |
|
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы добавим звуковую сигнализацию к нашему температурному табло. Отчёт отправил: 3922. Александр Выполнено за 43 мин. [Показать отчёт] Научился: Создал observer Alert, подающий звуковые сигналы только один раз, в случае изменения состояния при превышении одного из экстремальных значений. |
|||||
Итого: 13 видеоуроков |
1 час. 51 мин. 8 тестов |
7 чел. | |||
Финалисты: Сергей Соколов, Иван Воронин, Новопашин Владимир, Tekashnik, Александр, Anatoli, Tom . |