Этот вопрос относится только к JavaScript, но я предполагаю, что он применим к любому языку.Подписки внутри конструкторов
Я новичок в ООП, и я просто смотрю, есть ли лучшая практика/лучший способ сделать это. У меня есть объект, который должен подписаться на некоторые события. Я положил подписки на события внутри конструктора объектов, например, так:
function Obj() {
//instance variables
outsideEvent.addHandler(function(response) {
//do stuff
});
}
Проблема заключается в том, что теперь я чувствую, как объект связан с издателем; Я хотел бы, если бы я мог как-то подписаться вне самого объекта. К сожалению, я не знаю, когда или где новый экземпляр этого объекта может быть инициализирован. Я думал о создании функции-члена «attachEvents», но эту функцию нужно будет вызывать всякий раз, когда создается или вызывается новый экземпляр в конструкторе, но, может быть, это лучшая практика? Это, по крайней мере, облегчило бы модульный тест.
Я просто ищу совет; все оценивается!
Если вы ищете более несвязанный подход, я думаю, вас может заинтересовать шаблон [слабый случай] (http://msdn.microsoft.com/en-us/library/aa970850.aspx) – Matthias
я не знал об этом шаблоне; благодаря! – tau