Parece-me que o padrão de design do Observer, conforme descrito no GOF, é realmente a mesma coisa que os Listeners encontrados em vários kits de ferramentas. Existe uma diferença entre os conceitos ou os ouvintes e os observadores são realmente a mesma coisa.
(Não estou procurando nenhuma implementação específica de linguagem de computador, só quero entender a diferença (se houver) do ponto de vista do design. Sim, eu sei que existem várias respostas para perguntas semelhantes no SOF, mas elas estão enraizadas em perguntas específicas sobre idiomas específicos - estou procurando uma resposta de design, não uma resposta de idioma.)