Я сподіваюсь, що в цій публікації я можу отримати думку людей щодо кращих практик інтерфейсу між сторінками JSF та резервними бобами.
Одна річ, на якій я ніколи не можу погодитися - це структура моїх бобів. Крім того, я ніколи не знайшов гарної статті на цю тему.
Які властивості належать до якої підкладки бобів? Коли доцільно додати більше властивостей до даного бобу, на відміну від створення нового боба та додавання до нього властивостей? Чи має сенс для простих застосунків мати лише один резервний боб для всієї сторінки, враховуючи складність введення одного квасолі в інший? Чи повинно містити будь-яка фактична бізнес-логіка або вона суворо містить дані?
Не соромтесь відповідати на ці запитання та будь-які інші, які можуть виникнути.
Що стосується зменшення зв'язку між сторінкою JSF та резервним боком, я ніколи не дозволяю сторінці JSF отримати доступ до будь-яких властивостей резервного боба. Наприклад, я ніколи не дозволяю щось таке, як:
<h:outputText value="#{myBean.anObject.anObjectProperty}" />
Мені завжди потрібне щось на кшталт:
<h:outputText value="#{myBean.theObjectProperty}" />
зі значенням опорних бобів:
public String getTheObjectProperty()
{
return anObject.getAnObjectProperty();
}
Коли я перебираю колекцію над колекцією, я використовую клас обгортки, щоб, наприклад, уникати свердління в об'єкт у таблиці даних.
Взагалі, такий підхід мені здається "правильним". Це дозволяє уникнути будь-якого зв’язку між поданням та даними. Будь ласка, виправте мене, якщо я помиляюся.