[Android] – Callback vs Listener

Olá Pessoal,

     Depois de uma pequena temporada em alguns projetos Android, pude perceber um erro comum e que acontece com quase todos os programadores, chamarem um simples “callback” de “listener” ! E este é o motivo do meu post de hoje, que será bem curto e objetivo.
     Pois bem, vamos começar pelo padrão “callback“, este é a variação do padrão “Command” [Gamma], onde o próprio receptor é uma expressão concreta do “command”(callback), ou seja, ele é registrado em algum momento pelo alvo(Holder) e posteriormente quando um evento interessante acontece, o “holder” chama ele de volta, via alguma subclasse concreta.
    Já o padrão “listener” implementa o padrão Observer [Gamma], onde o ouvinte é o observador e também é registrado pelo objeto observado(Target/Holder). Um objeto observado pode ter vários “listeners“, enquanto que ele só pode ter um “callback“.
    Um ultimo ponto a lembrar é que vários “listeners” pode sem implementados como uma “lista de Callbacks”
Links: