2012-02-29 5 views
6

Интересно, какой путь должен быть предпочтительнее: получить доступ к бэк-веям бэк-файлов по полному классу.property или получить прямой доступ только к имени свойства по методу производителя? Особенно, если проект растет гораздо больше с большим количеством классов, услуги, фасадов и т.д.Методы продюсера против именованных классов

@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, я всегда точно знать, какой класс мне нужно изменить из-за полного квалифицированного имени.

Это было бы недостатком для 2-го способа, но, наоборот, лучше читать в случае множества сервисов и классов.

Что бы вы сказали экспертам?

ответ

0

IMO, я иду с первого маршрута. Это также проще с рефакторингом (при условии, что ваша IDE также переименуется на страницах JSF). Хотя, честно говоря, я ожидал бы, что это будет личный вкус.

Другим преимуществом использования service.property является способность изменять свойство и отражать его в пользовательском интерфейсе. Если вы используете производителя, этот продюсер вызывается только один раз для каждой области, где при вызове getter все время (другой компромисс производительности). Существует множество способов сделать что-то, и все, что работает, отлично, используйте этот способ.

0

Я бы пошел с первым вариантом, так как мне нравится всегда ссылаться на управляемый компонент, относящийся к странице. Я считаю, что это более понятный код.

Смежные вопросы