Легко ли злоупотреблять шаблоном наблюдателя?

У меня есть проект, в котором я широко использую шаблон
наблюдателя в первый раз. Одна вещь, которую я обнаружил,
заключается в том, что если я проверю типичный объект в этом
проекте, он имеет удивительно большое значение со всеми
наблюдателями и наблюдаемыми, а затем время, когда наблюдатель
имеет других наблюдателей и т. Д.

Кажется, что это не так, поскольку производительность в порядке.
Но я обнаружил, что иногда, когда я в отладчике, если я пытаюсь
распечатать переменную экземпляра, она закроет мою машину, пока я
не убью этот процесс. Меня это беспокоит, что есть вероятность, что
это произойдет, пока код находится в производстве. Или это просто
предупреждение, что я злоупотребляю шаблоном.

Любые советы, предложения?

TL; DR: Да, но это не значит, что иногда это не идеально.

«Удивительно большой» подразумевает ... он довольно большой; что
означает *на самом деле* ? Сколько наблюдателей/наблюдателей
есть? Они глубоко вложены?

ИМО корреляция между работой в отладчике и «реальной жизни» не
особенно сильна; *имеет* когда-либо запертую в производстве
или тестировании? Я бы с большей вероятностью подумал, что это
артефакт процесса отладки/приложения.

«Призрачное действие на расстоянии» создает нелокальность,
которую нужно понимать, чтобы правильно рассуждать о коде и
поведении. Такое развитие необходимо устраивать агрессивно; вместо
того, чтобы говорить: «Я просто создаю нового наблюдателя»,
создайте его и держите рассуждения как можно более линейными.



Вы можете переопределить метод `inspect` , чтобы быть
менее подробным.