Я довольно новичок в Seam и работаю над относительно крупным проектом на работе. Приложение довольно сложное в том смысле, что в любой момент на одной странице может быть много информации. Я пытаюсь понять, как это структурировать, и хотел бы получить обратную связь.
Хорошим примером для этого послужит Facebook (или похожее приложение для социальных сетей). У Facebook есть тонна вещей, появляющихся на экране. Если бы вся эта логика была в одном представлении и компоненте поддержки, файлы были бы монолитными по размеру.
Я вижу, что у вас разные компоненты. Например, в Facebook будет компонент, который будет отображать ваших друзей или друзей вместе с другим человеком, будет другой компонент, обрабатывающий приглашения, предложения и т. Д. И т. Д.
Все это - отдельные функциональные возможности, отображаемые на одной странице, однако, в некоторых случаях, хотя они и являются отдельными компонентами, они связаны в конце. Например, если я щелкну что-то на главном экране (т.е. не элементы на боковых панелях), которое генерирует запрос ajax, компонент на боковой панели, возможно, потребуется обновить или перерисовать автоматически.
Помимо компонентов боковой панели, в основной области страницы может быть несколько разрозненных элементов (например, область с вкладками, где каждая панель в действительности может быть отдельным или отдельным представлением страницы).
Было бы ужасно, если бы мне пришлось обрабатывать все в одном компоненте поддержки или что-то подобное. Для меня имеет смысл, что каждый из этих разрозненных элементов имеет свои собственные контроллеры (бэк-бины?), А что нет. Если я выполняю действие в компоненте x, его bean-компонент может вызвать событие, которое можно прослушивать из bean-компонента y (таким образом, вызывая повторную визуализацию компонента y).
Какие-нибудь идеи или ресурсы, на которые я мог бы взглянуть?