2012-01-24 16 views
11

Los Guava desarrolladores eligieron usar anotaciones:Anotaciones vs interfaz de guayaba EventBus

class EventBusChangeRecorder { 
    @Subscribe 
    void recordCustomerChange(ChangeEvent e) { 
    recordChange(e.getChange()); 
    } 
} 

... en lugar de las interfaces clásicas:

class EventBusChangeRecorder implements Handler<ChangeEvent>{ 
    void handle(ChangeEvent e) { 
    recordChange(e.getChange()); 
    } 
} 

Esto hace que el tiempo de compilación comprobar imposible. Entonces me pregunto cuál es la ventaja de este enfoque.

¿Ves alguna ventaja de las anotaciones aquí?

Respuesta

19

Creo que la pregunta es respondida en la Guava wiki.

+0

Gracias. Es exactamente lo que estaba buscando. – deamon

+0

Enlace actualizado: https://github.com/google/guava/wiki/EventBusExplained#why-use-an-annotation-to-mark-handler-methods-rather-than-requiring-the-listener-to-implement- una interfaz – wanghq

Cuestiones relacionadas