2013-11-09 2 views
0

Я продолжаю находить противоречивую информацию в целом, ничего авторитетного и ничего конкретного, чтобы объяснить точный вопрос, о котором мы с моим братом обсуждаем. Так может ли кто-то поставить этот вопрос на отдых и, надеюсь, с какой-то авторитетной документацией?Контроллер просмотра модели - кто что делает?

Вкратце: Какой из трех компонентов MVC отвечает за определение размера и местоположения объекта, который будет отображаться на экране?

+0

Контроллер делает это. Ознакомьтесь с разработкой приложений iOS 7 для iPhone и iPad в iTunes вы, видео 1 ... Class Logistics, обзор iOS, MVC, Objective-C – DogCoffee

+0

Вы имеете в виду размеры элементов html? – LINQ2Vodka

+0

Я имею в виду размер отображаемого изображения или кнопку для отображения или любой другой видимый артефакт, который будет отображаться на экране. – CodeMonkey

ответ

1

Ключ от MVC пытается достичь свободной связи между классами. Это делается путем применения нескольких шаблонов (MVC представляет собой составную структуру, что означает, что это композиция нескольких других шаблонов).

Здесь вы найдете «Стратегия между просмотром & Контроллер», «Композитный вид» и «Наблюдатель между моделью & Просмотр/Контроллер».

Существует много споров о том, как все это должно быть обработано, но общий термин следующим образом:

Что-то происходит на виду -> Посмотреть информацию Controller

     -> Controller asks Model to change data 
         -> Controller asks View to update display 
         -> Model informs View state has changed 
         -> View pulls data from model 

^Это использует втягивая шаблон наблюдателя, который считается «более правильным», но на самом деле это правило не правило. Помня об этом, представление отвечает за расположение объектов вида (с использованием составного шаблона), а контроллер - это просто плагин, чтобы действия знали, как их отправлять в модель. Это позволяет легко переключаться между видами & контроллеров. (Что создает двунаправленную ассоциативность, но это уже другая история)

+0

Я был уверен, что это не-нет, чтобы модель вообще говорила с мнением. Я не думаю, что это должно знать о существовании взгляда ... Но, как вы сказали, есть, по-видимому, дебаты, и именно поэтому я спрашиваю! Однако я не вижу точного ответа на мой вопрос. – CodeMonkey

+0

Извините за это, но действительно, некоторые хотят, чтобы вид/модель не знали о существовании друг друга, другие делают. Я всегда сам это узнавал, узнав об этом друг друга, а затем в университете были разные мнения между лекторами :) –

Смежные вопросы