File Exchange

image thumbnail

Model View Control Pattern using GUIDE

version 1.0 (9.01 KB) by

A simple GUIDE with Uicontrols is modified to demonstrate the application of MVC in Matlab.



View License

Model View Controller (MVC) is a compound pattern whose goal is to separate responsibilities into modular pieces that can be interchanged relatively easily. If you didn't need a user interface, all you'd have to worry about is the model. Why should you have to burden the model with user interface code? Obviously you shouldn't, thus the model view separation. Introduction of a controller loosens the coupling between the model and the view and, if done well, allows the behavior of the system to be modified by replacing the controller with a different one.

I'm following the MVC example laid out in the excellent book Head First Design Patterns. My starting point is the quick start GUIDE 'GUI with Uicontrols'. If you choose this GUIDE template and view the m file, you can see how it started and compare it to the MVC version I am presenting. Of course there are a few idiosyncrasies that the Matlab scripting language imposes. The main one is that the user interface is not a class; rather, it is a handle graphics object. The good news is that it's not hard to work around.

A blog post that describes the implementation can be found at:

Comments and Ratings (3)

Rob Campbell

Rob Campbell (view profile)


Ryan (view profile)


MATLAB Release
MATLAB 7.10 (R2010a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today