# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
Мы начинаем знакомство с очень популярным и востребованным шаблоном проектирования - Наблюдатель / Observer. По-другому он называется Подчинённые / Dependents. Этот шаблон активно используется в событийно-ориентированных языках программирования. На следующих уроках мы создадим несколько программ, на примере которых лучше уясним суть этого шаблона проектирования. Отчёт отправил: 16089. Povilas Abramovicius Выполнено за 13 мин. [Показать отчёт] Научился: Реализация данного паттерна используется для наблюдения за состоянием объектов в системе. Если состояние объектов изменяется в процессе их жизненного цикла, то Наблюдатель оповещает другие части системы об этих событиях. Пример из жизни: Когда я в группе it-sphere размещаю сообщение, то о нем становится известно всем, кто подписан на группу. Тоже самое, если я размещаю новый сюжет на канале. Я, конечно, не смотрел исходники YouTube, но очень вероятно, что они использовали именно этот шаблон. Subject – субъект. Регистрирует своих наблюдателей. За субъектом может «следить» любое число наблюдателей. Предоставляет интерфейс для регистрации и, соотвественно, отписки наблюдателей. источник codelab.ru оригинал codelab.ru Observer – наблюдатель. Определяет интерфейс для уведомления подписчисчиков, т.е. объектов, заинтересованных в изменениях субъекта. codelab.ru codelab.ru оригинал источник ConcreteSubject - конкретный субъект. Сохраняет состояние, представляющее интерес для любого конкретного наблюдателя ConcreteObserver. Посылает информацию своим наблюдателям, когда происходит изменение. codelab.ru источник codelab.ru оригинал ConcreteObserver - конкретный наблюдатель. Хранит ссылку на объект класса ConcreteSubject (для того чтобы потом обращаться к нему за синхронизацией данных). Сохраняет данные, которые должны быть согласованы с данными субъекта. Реализует интерфейс обновления, определенный в классе Observer, чтобы «быть уведомленным» о изменениях ConcreteSubject-а. |
|||||
2 | Observer - School Bell - Student |
1 тест |
|||
Мы начинаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы реализуем интерфейс Observer(), класс OStudent() и реализуем базовый функционал будущей программы. Отчёт отправил: 16089. Povilas Abramovicius Выполнено за 9 мин. [Показать отчёт] Научился: Создали интерфейс к нему создали класс OStudent. В классе Observer создали метод Update, ну и вывели в консоль через класс Program. |
|||||
3 | Observer - School Bell - Sound Bell |
|
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы реализуем класс OBell(), который будет имитировать школьный звонок. Отчёт отправил: 16089. Povilas Abramovicius Выполнено за 32 мин. [Показать отчёт] Научился: Invalid format - .wav |
|||||
4 | Observer - School Bell - Porter |
1 тест |
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы приступаем к реализации интерфейса Observable() и его класс Porter() implements Observable. Отчёт отправил: 16089. Povilas Abramovicius Выполнено за 13 мин. [Показать отчёт] Научился: Создал интерфейс и в него запихнул три пустые метода от него наследовал один класс в котором эти методы я реализовал. |
|||||
5 | Observer - School Bell - java.util.Observer |
|
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы переделаем нашу программу с использованием системной библиотеки для реализации Observer/Observable(). Отчёт отправил: 16089. Povilas Abramovicius Выполнено за 10 мин. [Показать отчёт] Научился: Переделал классы. Взял системный класс Observer и его реализовал. Думаю для того что бы передавать доп. параметры в метод update? |
|||||
6 | Observer - School Bell - java.util.Observable |
1 тест |
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы воспользуемся системным классом Observable(). Отчёт отправил: 16089. Povilas Abramovicius Выполнено за 22 мин. [Показать отчёт] Научился: Наследовал класс Observable b классе Porter и упростил его. Добавил вызов метода setChanged() и .doBreak(); |
|||||
7 | Observer - School Bell - Study and Break |
|
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы завершаем создание программы "Школьный звонок". Осталось рассмотреть дополнительную возможность передачи параметров. Отчёт отправил: 16089. Povilas Abramovicius Выполнено за 13 мин. [Показать отчёт] Научился: Использовал шаблон Обсервер - в котором есть две главные вещи это интерфейс Observer и класс Observable их мы наследуем в своих объектах и создаем новых обсерверов. |
|||||
8 | Observer - Sensor - Visaginas |
1 тест |
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы создадим программу информирования о погоде. Для этого мы создадим класс Sensor(), который будет узнавать текущую температуру и информировать об этом тех, кому это нужно и при необходимых значениях температуры. Отчёт отправил: 16089. Povilas Abramovicius Выполнено за 20 мин. [Показать отчёт] Научился: Создал класс к нему я добавил расширение Observable. в основном классе Sensor я реализовал методы. Создал главный класс и в нем я использовал экземпляр класса Sensor |
|||||
9 | Observer - Sensor - Person |
|
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На прошлом уроке мы создали класс Sensor(), который рассылает информацию о температуре всем, кому это необходимо. На этом уроке мы создадим классы Console() и Person() как получателей информации о температуре. Отчёт отправил: 16089. Povilas Abramovicius Выполнено за 16 мин. [Показать отчёт] Научился: Создал два класса Console, Person которые наследуют интерфейс Observer ну и в в каждый класс добавил соответствующие методы для получения информации о темперетуре. |
|||||
10 | Observer - Sensor - Cat File |
1 тест |
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы создадим класс Cat(), который будет создавать файл "cat.txt" при 18 градусах и удалять его при 0 градусов. Отчёт отправил: 16089. Povilas Abramovicius Выполнено за 11 мин. [Показать отчёт] Научился: Понравилось идея. |
|||||
11 | Observer - Sensor - Banner |
|
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы вспомним картинку, с которой начиналась наша серия уроков. Чтобы реализовать что-то похожее, мы воспользуемся классом FacadeMotivator(), которые реализовали во время прохождения Шаблона Проектирования: "Facade". |
|||||
12 | ФИНАЛЬНЫЙ УРОК |
без видео 3 теста |
|||
Поздpaвляю! Твoя зaдaча - прoверить cебя и пpойти тест, см. вкладку "Тест". Напиши отзыв или видеообзор по этому видеокурсу. |
|||||
13 | VIP - Observer - Sensor - Alert |
|
|||
Мы продолжаем знакомство с шаблоном проектирования: "Observer". На этом уроке мы добавим звуковую сигнализацию к нашему температурному табло. |
|||||
Итого: 13 видеоуроков |
1 час. 51 мин. 8 тестов |
7 чел. | |||
Финалисты: Сергей Соколов, Иван Воронин, Новопашин Владимир, Tekashnik, Александр, Anatoli, Tom . |