1) Модель MVC. Что является моделью (Model), представлением (View), контроллером (Controller)? Это — паттерн проектирования? В чём различия между активной и пассивной моделью MVC? Где модель реализована и применяется?
2) Архитектурный подход типа (Database) <-> DAL <-> BL <-> UI. Является ли этот подход частным случаем MVC? Как выявить различия между DAL и BL?
3) Картинки, примеры только приветствуются.
Хочу: чётко понимать и разделять каждый из компонент (Model, View, Controller, DAL, BL), его задачи, связи с другими компонентами; чётко разделять, где паттерн, где принцип; альтернативные подходы (?).
MVC не имеет стандарта, как и любой другой паттерн это, грубо говоря, лишь теория (идея) и смысл ее, как Вы и сказали, в разделении кода на 3 части. Как они между собой взаимодействуют, это уже конкретная реализация, и их несколько =)
2) MVC и (Database) <-> DAL <-> BL <-> UI — это два частных случая N-tier архитектуры (есть и другие: MVVP в .NET, MTV в Django). Общая задача всех вариантов такой архитектуры — уменьшение связанности.
Различие между DAL и BL — это различие между ORM и слоем сервисов, например.