2012-01-24 32 views
11

Các Guava nhà phát triển đã chọn để sử dụng chú thích:Chú thích vs Interface trong ổi EventBus

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

... thay vì giao diện cổ điển:

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

Điều này làm cho thời gian biên dịch kiểm tra không thể. Vì vậy, tôi tự hỏi lợi thế của phương pháp này là gì.

Bạn có thấy bất kỳ lợi thế nào của chú thích tại đây không?

Trả lời

19

Tôi nghĩ rằng câu hỏi được trả lời trên ổi wiki.

+0

Cảm ơn. Đó chính xác là những gì tôi đang tìm kiếm. – deamon

+0

Cập nhật liên kết: https://github.com/google/guava/wiki/EventBusExplained#why-use-an-annotation-to-mark-handler-methods-rather-than-requiring-the-listener-to-implement- một giao diện – wanghq