Где я должен реализовать это? View или ViewController? - PullRequest
0 голосов
/ 11 января 2010

Мне нужно реализовать представление формы, или другими словами: класс, который используется для размещения сложной формы ввода на экране.

Форма состоит из компонентов формы. Существует метод addFormComponent () для создания формы с ними. Кроме того, форма имеет метод isValid (), который будет проходить через все компоненты FormComponents и проверять связанные с ними FormValidators.

Конечно, эта штука обладает большим «интеллектом», но в большинстве случаев это просто вызов какого-то другого класса. Например, метод isValid () делает классные вещи, но на самом деле он вызывает только методы isValid () форм FormComponents, которые зарегистрированы в массиве. Ничего особенного.

Что ж, этот человек сказал, должен ли я сделать для этого толстый FormViewController или View просто отлично?

Мое понимание этого заключается в том, что ViewController используется, когда задействована какая-то большая логика. В этом случае представление формы имеет шаблон, который будет просто перебирать компоненты FormComponents и включать их. Каждый FormComponent имеет свой собственный шаблон и выполняет свои собственные функции.

Я всегда боролся с ViewController и View, и я думаю, что буду продолжать это делать, пока не получу хороший R.I.P. кирпич ... но, может быть, кто-то может немного прояснить это; -)

1 Ответ

1 голос
/ 11 января 2010

Пурист во мне говорит, что это принадлежит ViewController. Я думаю, может быть, это будет зависеть от используемой вами платформы. Например, этот тип установки очень легко реализовать в объекте Spring Controller. Похоже, что создание контроллера в вашем случае было бы большой дополнительной работой.

Ничто не стоит на камне. Вы можете реализовать в View сейчас, и если это окажется огромным бурдоном, переместите его в класс Controller. Знание того, когда проводить рефакторинг, является трудной частью.

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