Здравствуйте, <Аноним>, Вы писали:
А>Здравствуйте. Возникли следущие вопросы по MVC.
А>1. Есть объект типа "набор объектов", что хранить у него в Model? Model'ы объектов, или их контроллеры.
А>2. Где надо хранить функции работы с моделью? Функции типа: добавить в набор еще один объект, удалить из набора объект, etc. Если в контроллере, то как быть с private данными Model'и, а если еще и в Model'е то, ИМХО, переусложнение.
Я понимаю так.
1 Модель 1
/ \
оо оо
Контроллер 1<----->1 Вид
Модель:
Фцнкция: содержит Данные.
Поля: образно говоря, Массив обектов.
Методы: Добавить, Удалить, Найти (*)
Особенность: предоставляет (возможно, через Контроллер) Видам интерфейс для отлавливания событий изменений внутри себя.
предоставляет (возможно, через Вид) Контроллерам интерфейс для изменения данных внутри себя.
Вид:
Фцнкция: Показывает в колонках свойства объектов, в строках - объекты.
Поля: ссылка на Модель, и, опять же, для примера, CurrencyManager к ней, который создаёт сама.
Методы: Выделить следующий, предыдущий, Удалить текущий, Войти в режим редактирования\добавления новой записи. (**)
Особенность: предоставляет Контроллеру интерфейс для отлавливания событий внутри себя и, возможно, доступ к Модели.
Контроллер:
Фцнкция: по событиям нажатия клавиатуры (DownArrow, LeftArrow, Ctrl+N) вызывает методы Вида (**) для навигации;
по событиям нажатия клавиатуры (Enter, Esc) вызывает методы Модели для добавления\изменения данных (*)
Поля: ссылка на Модель и ссылка на Вид.
<< RSDN@Home 1.1.4 beta 7 rev. 500 >> =02:44= [Windows XP — 5.1.2600.0] {Build at .NET 1.1.4322.2032}
under «*none*»