In the original SmallTalk MVC, the View does indeed update itself from
the Model, via the Observer pattern. The original MVC pattern is like
a loop.

But, a direct link between the Model and the View is not practical for
web applications, so we've modified MVC so that is more like a
horseshoe, with the controller in the middle.

Some web applications frameworks would call a gizmo like the
ActionForm the model, since from the page's perspective, the
ActionForm, and other servlet attributes, are all it knows about the
model. But, the ActionForm and other servlet attributes are more like 
a model facade.

In Struts, we have a longstanding problem where people represent their
true Model in JavaBeans or EJBs, and then want to repurpose these
objects as ActionForms. Most of us feel that's a bad idea for *so*
many reasons, so we are careful to say that the ActionForm is *not*
the Model.

Architecturally, the ActionForm is an input/output buffer for the
controls on a server page. Component-based frameworks, like JSF and
ASP.NET, build the string buffers into the control objects, and so
they don't need an ActionForm member..

HTH, Ted.

On 8/2/05, Kent Boogaart <[EMAIL PROTECTED]> wrote:
> Hi,
> 
> I've just read this
> (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpatterns
> /html/DesPageController.asp) MVC overview. They describe the view as
> obtaining its data directly from the model. I was under the impression that
> the view should obtain / update data only through the controller and should
> never directly access the model.
> 
> Unless I'm mistaken, this is how struts works. The controller (action)
> retrieves data from the model (eg. EJBs) and populates the action form. The
> view then just obtains data from the action form.
> 
> I guess my question is: is the action form considered part of the model? If
> not, what?
> 
> Thanks,
> Kent
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


-- 
HTH, Ted.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to