Спасибо что ничего лишнего поэтому все максимально понятно. Большинство считает своим долгом напихать кучу ненужного кода не относящегося к теме объяснения в не зависимости от самой темы, видимо тем самым демонстрируя какие они крутые программисты
Допустимо ли немного изменять эти общие описания паттернов? В моей бизнес-задаче ровно 2 объекта (наблюдателя) одного и того же класса. Могу ли я передать этих двух наблюдателей прямо в конструктор наблюдаемого объекта, тем самым избавивших от addObserver/removeObserver методов, а notifyObserver сделать защищенным (private/protected) ? Спасибо.
понимаешь, есть как бы устоявшиеся паттерны, но ты, естественно, можешь их подстраивать под себя, если считаешь это необходимым. addObserver/removeObserver - более универсальный подход. Можешь знаешь как сделать, передавать в конструктор список наблюдателей, а внутри for-each, в котором для каждого вызвать addObserver. Как думаешь?
что-то мне кажется, что вызов handleEvent подписчиков есть смысл завернуть в отдельный тред, чтобы не интерферировать с основным кодом реализации observable. Или так не делают?