2012-02-29 24 views
6

Me pregunto qué camino es preferible: para acceder a vars de respaldo bean por full classname.property, o para acceder directamente al nombre de la propiedad solo por el método de productor? Sobre todo si el proyecto crece mucho más grande, con gran cantidad de clases, servicios, etc. fachadasMétodos de productor vs clases con nombre

@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}" /> 

primera ventaja manera para mí es, que si tengo que cambiar el JSF, siempre sé exactamente qué clase tengo que modificar debido al nombre completo calificado.

Esto podría ser la desventaja de la 2 ª manera, pero que en cambio es mucho mejor para leer en el caso de muchos servicios y clases.

¿Qué dirían los expertos?

Respuesta

0

IMO, voy con la primera ruta. También es más fácil con la refactorización (suponiendo que su IDE cambie el nombre en las páginas JSF también). Aunque, honestamente esto esperaría ser algo de sabor personal.

Otra ventaja de usar service.property es la capacidad de modificar la propiedad y que se refleje en la interfaz de usuario. Si está utilizando un productor, ese productor solo recibe una llamada por alcance, ya que el reclamo se llama todo el tiempo (otra compensación de rendimiento). Hay muchas maneras de hacer las cosas y, para lo que funciona, es genial, utilícelo de esa manera.

0

Me gustaría ir con la primera opción ya que siempre me gusta hacer referencia al Bean administrado que es relevante para la página. Creo que es un código más comprensible.

Cuestiones relacionadas