Model-Delegate is a variation of the ModelViewController (MVC) pattern. Two of the three responsibilities from MVC, namely the view and controller part, are brought together in a so-called User Interface (UI) Delegate. Hence classes with the following roles can be distinguished:
-
Model classes: hold data specific to the application
-
View/Controller classes: present information to and interact with the user.
Sun says that JavaSwing is more correctly described as using the Model-Delegate pattern rather than the MVC pattern.