Eric -> Initial population:

Previous Discussion

Eric -> I may be misunderstanding the balance of responsibility here: I'm personally envisioning a design where the central UserControl is also the host of the required display logic to access the CodePlex.Vertigo namespace and query for the info related to its current versioned item. The way I've seen things drawn, I'm wondering if you guys are envisioning the various hosts as serving as the Controller, getting the data from CP.Vertigo and pushing it into the controls. I guess we're really discussing if we're doing MVC or MVC II.

MR -> Yes, you are correct in that I am seeing it from the other side not using MVC but MVP (or MVC II) if you will. Here is a good description of Model-View-Presenter from Martin Fowler which I think many call MVC II (especially in the Java, Struts world). I did intend for the controls to be the view area and to be as dumb and thin as possible with the presenter pushing information to the view.

Eric -> (MVC) I looked at fowler's MVP post, but I think there's still a little bit of cross-talk going on here. I'm going to copy your post to an MVC Discussion page and elaborate there.

Ongoing Discussion

Eric -> We've got three things in the discussion now: MVC, MVC II, and MVP. I'll admit that I'm fuzzy in the MVC II portions myself and I'm by no means a theorist, so we'll see how I do :)
  • MVC is the classic model - the controller
    • receives all events from anywhere
    • Manages all access to the data
    • tells all of the views what to do (by firing events)
    • Proxies the data to the views.
  • MVP appears to have the following changes:
    • The views receive the events directly and ask the Presenter what to do with them.
  • MVC II appears the make the following changes:
    • The views receive the events directly
    • The views are allowed to go directly to the data

MVC II is typically used in situations like web applications, where each page gets its own information, so it may not be fully appropriate here. If this is the case, it sounds like MVP is our preferred solution.

MR -> Yes. I believe MVP is what we are after. Let me put it this way Google MVC II. Basically MVC is a design patten MVC I is one way to implement it and MVC II is another way. The only references you find to such a things as MVC II is in the world of Java and jsp versus servlets. Now try to Wikipedia MVC II - nothing. MVC II is just the MVC pattern in Java using servlets versus jsp. Where the term MVC II came from seems to be one persons idea actually I only found one weirdo who ever wrote anyhting and I think he is the one who coined the term and it showed up in a few newsgroups, either way it's effectively non-existent. There both just MVC.

Eric -> My personal experience with MVC II (or actually MVC Type II) is a little more wide-spread than that and is a very valuable pattern for the interaction model of web sites, but we're definitely in agreement that we're not using it explicitly here. I was only considering it to reduce the component count, to be honest. If you're interested in more info, check out the Google Hits for the pattern, especially the links within

Last edited Jul 1, 2006 at 4:11 AM by erwilleke, version 6


No comments yet.