Re: Hairy generics question
Arne Vajh??j wrote:
Arne Vajh??j wrote:
Arved Sandstrom wrote:
If you choose to think of JSF as MVC - let's say because you aren't
interested in breaking out MVP as a derivative of MVC - then that's
too. I have no problem with that, it's what I actually do myself,
because most folks haven't heard of MVP anyway so why confuse them? I
would like it though if people who "knowledgeably" classify JSF as
MVC could identify what the Controller is in JSF: I've run across more
people than not who either think it's the FacesServlet or just don't
JSF is MVC if you think of a backing bean as a (generally) per-screen
It usually have functionality besides controller, so it is not just
And clean MVC should have something that is just a controller.
QWhat non-controller functionality goes in a backing bean?
I've done a fair amount of JSF work, and the backing beans I've done
work just like a controller - they coordinate screen events and delegate
fulfillment to model objects.
Typical a backing bean will also contain data.
In Struts you have the form bean / dyna bean with the data
and the action class being the controller.
In JSF the form data and the controller got mixed up a bit.
You can mix up data and action in Struts, too. Doesn't reflect on the
framework so much as the practitioner.
Arved's points resonated with me also. Even the Model 2 MVC style has screen
field awareness in the C; has to, in order to properly dispatch logic. Arved's
comment pertains, "Everything is up for debate, here, that's the point of this
Whether "JSF is MVC" now sounds like a style issue as I integrate your
information. I'm in the habit of writing JSF backing beans more like a
controller and less like a model-aware component, and your experience reveals
a style with less rigorous a separation. I suggest that while JSF admits of a
non-MVC approach, as you say, one should yet design along MVC lines.
Just having the MVC pattern in mind, with keen understanding of separation of
concerns and other principles, one will tend to a good architecture however
fuzzy the particular label for it. As always, there are no absolute rules,
only firm, supportive principles.
Honi soit qui mal y pense.