2012-02-29 14 views
6

Mi chiedo quale sia il modo preferito: accedere al bean di backing tramite full classname.property o accedere direttamente al nome della proprietà solo per metodo produttore? Soprattutto se il progetto cresce molto più grande con un sacco di classi, servizi, facciate eccMetodi di produzione rispetto a classi con nome

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

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

o

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

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

primo vantaggio modo per me è, che se devo cambiare il JSF, ho sempre sapere esattamente quale classe devo modificare a causa del nome completo.

Questo sarebbe lo svantaggio per il 2o modo, ma che al contrario è molto meglio leggere in caso di molti servizi e classi.

Cosa direste voi esperti?

risposta

0

IMO, vado con il primo percorso. È anche più semplice con il refactoring (supponendo che l'IDE cambierà anche nelle pagine JSF). Anche se, onestamente, mi aspetterei di essere una cosa dal sapore personale.

Un altro vantaggio dell'utilizzo della proprietà service.property è la possibilità di modificare la proprietà e che si rifletta sull'interfaccia utente. Se si sta utilizzando un produttore, quel produttore viene chiamato una sola volta per ambito in cui viene chiamato sempre il getter (un'altra operazione di prestazioni off). Ci sono molti modi per fare le cose e tutto ciò che funziona è fantastico, usa in questo modo.

0

Vorrei andare con la prima opzione poiché mi piace fare sempre riferimento al bean gestito pertinente alla pagina. Credo che sia un codice più comprensibile.

Problemi correlati