2012-02-29 12 views
6

Zastanawiam się, który sposób ma być preferowany: uzyskać dostęp do partycji typu bean z pełną nazwą klasy class.property, lub w celu bezpośredniego dostępu tylko do nazwy właściwości według metody producenta? Zwłaszcza, jeśli projekt rośnie znacznie większy z wielu zajęć, usług, fasad itpMetody producenta a nazwane klasy

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

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

lub

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

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

Pierwszą zaletą sposób jest dla mnie, że jeśli będę musiał zmienić JSF, zawsze dokładnie wiem, którą klasę mam modyfikować ze względu na pełną kwalifikowaną nazwę.

Byłoby to niekorzystne dla drugiej drogi, ale z drugiej strony jest o wiele lepiej czytać w przypadku wielu usług i klas.

Co powiedzą eksperci?

Odpowiedz

0

IMO, idę z pierwszą trasą. Łatwiej też z refaktoryzacją (zakładając, że IDE zmieni również nazwę na stronach JSF). Chociaż, szczerze mówiąc, spodziewam się, że będzie to rzecz osobistego smaku.

Kolejną zaletą korzystania z usługi service.property jest możliwość modyfikowania właściwości i jej odzwierciedlenie w interfejsie użytkownika. Jeśli używasz producenta, ten producent jest wywoływany tylko raz na zakres, gdzie jako getter jest wywoływany przez cały czas (inny kompromis wydajnościowy wyłączony). Jest wiele sposobów na robienie rzeczy, a cokolwiek działa, jest świetne, użyj tego.

0

Wybrałbym pierwszą opcję, ponieważ lubię zawsze odnosić się do Fasoli Zarządzanej, która jest istotna dla strony. Uważam, że jest to bardziej zrozumiały kod.