Экспонирование потока или использование шаблона наблюдателя - PullRequest
0 голосов
/ 06 октября 2018

У меня есть класс следующим образом

class Controller {
    Stream<Requests> stream;
}

и другие классы слушателей, которые хотят знать о запросах из потока и действовать в соответствии с ними.

Я хотел знать, что лучшес точки зрения принципов ОО:

  1. предоставление потока и разрешение прослушивания его классами слушателей
  2. Добавление классов слушателей в качестве наблюдателей и уведомление их, когда из потока возникает новый запрос?
  3. может быть, другое решение, которое я здесь не упомянул?

Не думаю, что это имеет значение, но я использую дротик, вопрос, вероятно, относится к любому оо-языку.

1 Ответ

0 голосов
/ 06 октября 2018

Потоки работают, передавая данные от производителя к потребителю, когда они становятся доступными (по крайней мере, в Java, не уверен, как потоки реализованы в дротике).Таким образом, если вы используете поток и подписываетесь на него, вы как бы получаете push-наблюдателя из коробки.

Я не вижу никакой выгоды от добавления другого наблюдателя поверх этого (по крайней мере, в Java).

Обратите внимание, что потоки имеют тенденцию быть больше от functional paradigm, чем от object oriented.Я думаю, что ваше первое решение - это звук с точки зрения разработки программного обеспечения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...