Er worden drie rollen onderscheiden, te weten:
Een view en een controller vormen samen de “User Interface” voor een model.
Het MVC-model is een breed gedragen software pattern welke veel gebruikt wordt in combinatie met het J2EE framework, .NET en andere ontwikkelplatformen.