View: Account screen with user name, user photo, and list of user’s posts
Model: Users table, media library table, forum posts table
View Model: Gets data from the Models, combines it into useful info for the View. Maybe sets the default profile image if user doesn’t have one, or passes “Not Set” if the email hasn’t been provided.
Also think of it as…
View: dumb, what the user sees and touches
Model: dumb, the data
View Model: smart, business logic that passes, sanitizes, etc data between the two dummies above
Latest Answers