basic HMVC diagram

Marketing_Insists used Ask the Experts™
I'm trying to understand HVMC by diagramming a very basic hypothetical GUI app.

Image attached: does it look correct? diagramed HMVC app attempt
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
MVC is a key pattern for software development.  As you know, it means responsibilities are divided between the Model (the business rules), the View (the UI) and the Controller (the user actions).

I would change your design as shown in your diagram a bit to not go to the level of a Label.

Read more here:
Thats a bit vague, for example I can not tell whether the arrows here are representing some heriarchical arrangement of controllers or what? Are you intending something like a front controller (another pattern often combined with MVC especially in web apps)? See,
You however forgot to add MVC for the status bar?
Note that MVC is more of an architectural pattern than a design pattern and therefore it highlights the essense or the architecture. It alone is not sufficient to fully understand a solution. For example like in your case the traditional MVC does not detail the relationships between controllers (if any). In the traditional MVC, there are just controller, model and view. Your app is therefore has a lot of controllers/models/view. But how do they relate to each other? That is given by variations of MVC and/or other patterns.
 If you GUI is not meant to be for web, then most of the time (in practice) what is otherwise understood as MVC is not so (at least theoretically). There is a line dividing MVC and MVP. I highly recommend that you read That will really help you understand where your design stands. By contrasting with MVP you will also realize the limitations of MVC.


OK, thanks - that site even provided sample code of a Hvmc gui

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial