Легко ли злоупотреблять моделью наблюдателя? - PullRequest
0 голосов
/ 28 октября 2011

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

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

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

Ответы [ 2 ]

2 голосов
/ 28 октября 2011

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

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

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

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

0 голосов
/ 28 октября 2011

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

...