Здравствуйте, _FRED_, Вы писали:
_FR>Я понимаю так.
_FR>_FR> 1 Модель 1
_FR> / \
_FR> оо оо
_FR> Контроллер 1<----->1 Вид
_FR>Модель:
_FR> Фцнкция: содержит Данные.
_FR> Поля: образно говоря, Массив обектов.
_FR> Методы: Добавить, Удалить, Найти (*)
_FR> Особенность: предоставляет (возможно, через Контроллер) Видам интерфейс для отлавливания событий изменений внутри себя.
_FR> предоставляет (возможно, через Вид) Контроллерам интерфейс для изменения данных внутри себя.
_FR>Вид:
_FR> Фцнкция: Показывает в колонках свойства объектов, в строках - объекты.
_FR> Поля: ссылка на Модель, и, опять же, для примера, CurrencyManager к ней, который создаёт сама.
_FR> Методы: Выделить следующий, предыдущий, Удалить текущий, Войти в режим редактирования\добавления новой записи. (**)
_FR> Особенность: предоставляет Контроллеру интерфейс для отлавливания событий внутри себя и, возможно, доступ к Модели.
_FR>Контроллер:
_FR> Фцнкция: по событиям нажатия клавиатуры (DownArrow, LeftArrow, Ctrl+N) вызывает методы Вида (**) для навигации;
_FR> по событиям нажатия клавиатуры (Enter, Esc) вызывает методы Модели для добавления\изменения данных (*)
_FR> Поля: ссылка на Модель и ссылка на Вид.
_FR>
На мой взгляд все несколько иначе: вид не должен имеет ссылку на модель, как вы указали, точно также модель ничего не должна знает о текущем виде. Модель и вид посылают сообщения друг другу только посредством интерфейса контроллера. Т.е. только интерфейс контроллера обеспечивает взаимодействие модели и вида. Таким образом, легко реализуется заменяемость видов и контроллеров.