Это очень хорошо: http://www.c2.com/cgi-bin/wiki?ModelViewController
Но на самом деле MVC очень прост:
Модель: Ваши данные.
Вид: вещь, которая контролирует, как ваши данные представлены.
Контроллер: сидит между данными и представлением, другими источниками данных и контролирует любое изменение данных, которое необходимо сделать.
Это не означает, что ваше представление само по себе не будет построено из моделей, представлений и контроллеров, но если вы сортируете вещи по этим вопросам, то обычно они остаются довольно чистыми:
- Это то, с чем взаимодействует пользователь, или это что-то форматирует для пользователя? Это идет в представлении.
- Это просто представление данных, с небольшими ассоциированными "умами"? Это модель.
- Все остальное идет в контроллере.