Разъяснение по образцу наблюдателя - PullRequest
0 голосов
/ 22 мая 2019

Я изучал Шаблон Обозревателя для проекта Python, над которым я работаю.Мне очень нравится эта идея, так как она кажется хорошим способом развязки классов и модулей.(например, пользовательский интерфейс и бэкэнд?)

В любом случае, я рассмотрел пример ЭТОТ .Совершенно очевидно, что у субъекта должен быть список наблюдателей, чтобы он мог обновлять их с помощью функции _notify.Однако я не понимаю, почему в функции присоединения мы присваиваем переменную _subject для наблюдателя.

Я использовал этот шаблон на основе примера.До сих пор я не использовал переменную _subject в моих объектах Observer.Так что я довольно растерялся, почему он вообще там?

1 Ответ

0 голосов
/ 22 мая 2019

Переменная _subject в Observer представляется избыточной.Это связано с тем, что Observer по умолчанию знает субъект, для которого он регистрируется.

Хотя вы имеете в виду шаблон в Python, я регулярно использую этот шаблон в Java, и нет необходимости в таком поле.

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