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.