2012-01-24 36 views
11

Guava開發人員選擇使用註釋:註釋與接口番石榴EventBus

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

...而不是經典的接口:

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

這使得編譯時檢查是不可能的。所以我想知道這種方法的優點是什麼。

你看到註釋的優點嗎?

回答

19

我認爲這個問題是在番石榴wiki回答。

+0

謝謝。這正是我所期待的。 – deamon

+0

更新後的鏈接:https://github.com/google/guava/wiki/EventBusExplained#why-use-an-annotation-to-mark-handler-methods-rather-than-requiring-the-listener-to-implement-一個接口 – wanghq