2010-06-08 4 views
0

Это, вероятно, можно рассматривать как академический вопрос, а не реальный мир, но бросать его, чтобы увидеть, есть ли у кого-нибудь отличные идеи! Мы все знаем, что сохранение бизнес-логики приложения отдельно от презентации - хорошая идея (я смотрю на веб-приложения atm), но должно быть понимание между бизнес-логикой, для каких ожидаемых переменных HTTP (и затем процесс) и имена переменных, которые отправляются уровнем представления.Разделение логики из представления: имена переменных HTTP?

Разве это просто вопрос дизайнеру, какие имена переменных использовать в шаблоне? Шаблон не должен знать, что представляют собой имена переменных (если не использовать их для селекторов JS/CSS), почему они должны быть «жестко закодированы» там. Или должна ли бизнес-логика выводить имена в переменные? Еще один уровень сложности для шаблонов?

Есть ли у кого-нибудь опыт в этом или мысли о том, как с этим бороться?

Спасибо, Allan

+0

Что именно вы подразумеваете под переменной HTTP? Параметры URL? – cherouvim

+0

HTTP-переменная, как в параметре GET или POST (так что да URL/GET). Все, что угодно в именах полей формы, потребует знания этого имени как на уровне представления, так и на уровне логической обработки. –

ответ

0

Мои мысли ... Я думаю, это зависит от разработчика. Всякий раз, когда я создаю приложения, я, как вы предположили, разделяет бизнес и логику просмотра и обычно определяет ViewModel. Затем viewModel становится договором между бизнес-логикой и представлением. Это позволяет обеим командам (разработчикам пользовательских интерфейсов и бизнес-логики) развиваться независимо и, конечно же, позволяет легко тестировать и т. Д.

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

0

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

Даже с наиболее способными дизайнеров инструменты, которые они используют, не поддаются решению проблемы.

Подход, который мы закончили, заключался в том, что разработчики предоставили бы примеры фрагментов HTML, которые затем создавали бы дизайнеры, а затем разработчики заменяли бы фрагменты динамически созданным контентом и очищали таблицы стилей, слияние любых классов.

Это было самое прагматическое решение, к которому мы могли бы прийти.

C.