Скажем, у меня есть базовая модель данных с несколькими сущностями, и на протяжении всего жизненного цикла приложения я буду получать и настраивать свойства этих сущностей из разных представлений.
По крайней мере, мне кажется,передача контекста управляемого объекта от контроллера представления к контроллеру представления и знание кода контроллера о различных объектах или производных объектах противоречит разъединению.На самом деле, есть аналогичный вопрос, где единственный ответ предлагает обойти контекст управляемого объекта.
Так что, в духе MVC, я подумал, что для контроллеров представления может быть более разумным придерживатьсяуправление представлениями и наличие контроллера одноэлементной модели, с помощью которого эти контроллеры представления могут запрашивать модель для представления своих представлений и уведомлять о необходимости обновления модели на основе взаимодействия пользователя с представлением.
Но яне знаю, как поступить с реализацией интерфейса контроллера одной модели.Например, вот несколько идей:
- сделать этот контроллер одновременно делегатом и источником данных для всех контроллеров представления?
- должен ли контроллер быть только источником данных и использовать уведомления для обновлений?
- kvc / o?
- Является ли вся идея централизованного моста из / в модель просто сверхинженерной модели MVC?То есть, есть ли какой-то разумный аргумент в пользу того, чтобы вместо этого передавать управляемый контекст, и это не считается дерьмовым объектно-ориентированным дизайном?
Еще одна вещь, о которой я думаю, если одноэлементный контроллерделегат и источник данных, методы для получения данных модели и обновления модели должны реализовывать своего рода шаблон посетителя, верно?То есть, например, если контроллер A представления позволяет пользователю взаимодействовать с объектом / объектом A модели, а некоторый контроллер B представления допускает то же самое для объекта B модели, и оба контроллера представления полагаются на одного и того же делегата, делегат должен будетесть какой-то способ узнать, на какую модель объекта он должен нацеливаться, в зависимости от того, какой конкретный контроллер к нему обращается.
Буду признателен за любые мысли / идеи