2012-02-29 35 views
6

我想知道哪種方法是首選的:通過完整的classname.property訪問輔助bean變量,或者只通過生產者方法訪問屬性名稱?特別是,如果項目的發展更大有很多類,服務,外牆等生產者方法vs命名類

@Named 
public Service { 
    List<Customer> getCustomers(); 
} 

use: 
<h:dataTable value="#{service.customers}" /> 

public Service { 
    @Produces 
    @Named 
    List<Customer> getCustomers(); 
} 

use: 
<h:dataTable value="#{customers}" /> 

第一種方式的優勢對我來說,如果我必須要改變的JSF,我總是由於完整的限定名稱,我確切知道哪些類需要修改。

這將成爲第二種方式的缺點,但相反,在許多服務和類別的情況下更好地閱讀。

你會專家怎麼說?

回答

0

海事組織,我走的第一條路線。重構也更容易(假設您的IDE也將在JSF頁面中重命名)。雖然,老實說,我期望成爲一個個人風味的東西。

使用service.property的另一個優點是能夠修改屬性並使其反映在UI上。如果你使用的是生產者,那麼這個生產者只能在每個範圍內調用一次,因爲所有的時間都會調用getter(另一個性能是折衷的)。有很多方法可以去做,而且不管做什麼都很好,就是用這種方式。

0

我會選擇第一個選項,因爲我總是引用與頁面相關的受管Bean。我相信這是一個更容易理解的代碼。