Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Observer / Observer - Теория

  • Мы начинаем знакомство с очень популярным и востребованным
    шаблоном проектирования - Наблюдатель / Observer.
    По-другому он называется Подчинённые / Dependents.
    Этот шаблон активно используется в событийно-ориентированных языках программирования.

    На следующих уроках мы создадим несколько программ,
    на примере которых лучше уясним суть этого шаблона проектирования.
  • Дата отправки отчёта: 25 апреля 2018 г.
  • Задание выполнено: за 13 мин.
  • Чему научился: Реализация данного паттерна используется для наблюдения за состоянием объектов в системе. Если состояние объектов изменяется в процессе их жизненного цикла, то Наблюдатель оповещает другие части системы об этих событиях.
    Пример из жизни:
    Когда я в группе it-sphere размещаю сообщение, то о нем становится известно всем, кто подписан на группу. Тоже самое, если я размещаю новый сюжет на канале. Я, конечно, не смотрел исходники YouTube, но очень вероятно, что они использовали именно этот шаблон.
    Subject – субъект.
    Регистрирует своих наблюдателей. За субъектом может «следить» любое число наблюдателей.
    Предоставляет интерфейс для регистрации и, соотвественно, отписки наблюдателей. источник codelab.ru оригинал codelab.ru
    Observer – наблюдатель.
    Определяет интерфейс для уведомления подписчисчиков, т.е. объектов, заинтересованных в изменениях субъекта. codelab.ru codelab.ru оригинал источник
    ConcreteSubject - конкретный субъект.
    Сохраняет состояние, представляющее интерес для любого конкретного наблюдателя ConcreteObserver.
    Посылает информацию своим наблюдателям, когда происходит изменение. codelab.ru источник codelab.ru оригинал
    ConcreteObserver - конкретный наблюдатель.
    Хранит ссылку на объект класса ConcreteSubject (для того чтобы потом обращаться к нему за синхронизацией данных).
    Сохраняет данные, которые должны быть согласованы с данными субъекта.
    Реализует интерфейс обновления, определенный в классе Observer, чтобы «быть уведомленным» о изменениях ConcreteSubject-а.
  • Оценка видео-уроку:
Отчёт от 16089 за Observer / Observer - Теория




Оцени работу

 
Сохранить страницу:

17619. --
Gilman
Gilman
ответить
→  Povilas Abramovicius  # 8. Observer / Observer - Теория / 2018-04-25 22:40

О, вот такие описания я люблю читать, сразу узнаешь что-то полезное                                                                         
                                                                                                                                                                     
                                                         


  • Отчёт оценивали:
    1Евгений Волосатов+1   17443WildOrc+1   10494Алексей В.+1   17606Виктор+1   3747Сергей+1   17947Dmitry Sinitsin+1   16218Дмитрий+1   9752chokayes+1   9156Dimon+1   8275Tekashnik+1   791Валерий Жданов+1   16066Bodrik_torf+1   9980Timoha+1   5394Anton+1   4395Денис+1   459Сергей Сергеевич+1   3922Александр+1   6452Кирилл Шмойлов+1   17093jin+1   18272Ramzan0   16533Андрей Шевченко+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: отличный урок. наблюдатель позволяет оповещать подписчиков об изменениях, и не надо лишний раз дергаться, подписался и ждешь. ) В общем, не надо мстить и убивать своих врагов, просто садимся на берегу реки и ждем. Через некоторое время мимо труп твоего врага проплывет мимо.



Научился: Повторил пройденное
Наблюдатель следит за состоянием каких либо объектов и как только состояние изменилось, оповещает всех, кто находится в списке оповещения именно по этому объекту. т.е. в нашем случае, если ты находишься в пределах слышимости звонка, то ты будешь добавлен в список и оповещён о звонке, но если ты ушёл за пределы слышимости звонка, то автоматом удаляешься из списка оповещения и не услышишь звонок, который прозвенит. Естественно, удаление, добавления в список это уже доп. функционал, который анализирует дальность до объекта того, кого можно оповестить, чтобы данная система работала как нужно =)