КВО и MVC Вопрос - PullRequest
       5

КВО и MVC Вопрос

2 голосов
/ 03 июля 2011

Простой вопрос здесь ... Можно ли с точки зрения дизайна MVC наблюдать значение в модели из вида (с помощью наблюдения значения ключа) и обновлять текущее местоположение вида на экране в зависимости от того, когда переменная модели изменения?

Можно ли наблюдать из объекта обзора и заставить этот объект двигаться сам при изменении переменной Location внутри объекта модели?

Или это против MVC, потому что представление и модель взаимодействуют в некотором смысле?

1 Ответ

1 голос
/ 03 июля 2011

Вы должны связать это через C, контроллер , пункт.Даже если это означает, что вы извлекаете данные о состоянии из модели, а затем заставляете контроллер установить представление или представление, считывающее эти данные из контроллера.

Представление и модель всегда должны быть разделеныконтроллер.Это MVC по мнению Apple.Причина в том, что даже сейчас для вас может быть просто иметь представление, ссылающееся на состояние модели, - но модель может измениться в будущем, и тогда вы застрянете, обновляя представление, когда на самом деле нет причин, по которым представление должнобыть затронутым.И модель никогда не должна обновлять позицию представления - она ​​не должна иметь никакого представления о деталях отображения.Это задача контроллера: управлять вашими представлениями и перемещать их по данным модели.

Подумайте об этом так: представление должно только знать, как отображать объекты или взаимодействовать с ними.Пользовательский ввод-вывод, модель должна знать только о бизнес-логике с данными, которые поступают через интерфейс входов и выходов.Вы должны иметь возможность запускать модель даже без существующего представления, вместо этого вы должны иметь возможность просто иметь код типа модульного теста, который передает эти входы и выходы.Поэтому что-то вроде перемещения взгляда полностью выходит за рамки ответственности модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...