I need to understand the proper name for an object that has cropped up in two projects now. Here is the conventional representation for the MVC pattern:
However there is another "Model" that is normally present in MVC, which passes the data between the controller and the view (and back):
What is the second model object called? I have heard it referred to as a "Data Transfer Object," a "Value Object," and a "Model Object."
This object is typically necessary because the data being presented in a "View" is almost never in the same form as the data being stored in the data store. Four or five (or more) DAOs may be pulled together in the service or controller to populate this object, and it may be used to update more than one DAO on the way back to the data store.
So, what is the "proper" name for this second model object?
(Image from Creative Commons, Shane Brinkman Davis)