У меня есть сущность CoreData X и контроллеры для этой сущности XController.Теперь есть другая сущность, XGroup, содержащая коллекцию X сущностей, и XGroupController.
Теперь проблема в том, что XGroupController должен взаимодействовать с XController, и было бы неплохо просто передать XGroupController XGroup для наблюдения, а затем получить XController из X-сущностей.
Таким образом, вопрос заключается в следующем: является ли хорошей идеей хранить (слабую, чтобы избежать сохранения циклов) ссылку на контроллер в объекте?Это просто чувствует себя немного "неправильно".Есть ли другой шаблон проектирования для этого?
[Редактировать] Еще немного информации: XController / XGroupController являются контроллерами представления;и причина, по которой он чувствовал себя «неправильным», заключается в том, что слой вида не должен находиться на уровне модели.Так что @TechZen прав в своем первом абзаце.
Однако, как бы я это сделал, если у меня нет этой ссылки?Я вижу способ передать XGroupController все существующие XControllers (а также обновить их при их изменении), а затем, когда элементы в XGroup изменятся, найти соответствующие контроллеры (проверив, находится ли свойство XControllers для его сущности X в XGroup)и, наконец, поговорите с XControllers.
Я должен снова поработать над вещами, которые модель уже хорошо обрабатывает.Разве это не делает уровень модели своего рода бессмысленным, если мне придется обрабатывать группы на уровне контроллера в другой раз?
Разница, которая имеет значение с точки зрения Лок / сложности, настолько значительна, я что-то упустил?(Возможно, я должен добавить, что в моем сценарии не имеет смысла хранить информацию, которую XGroupController должен предоставить XController через модель).