1

Я искал какое-то время на эту тему, но пока не нашел «удовлетворительного» ответа.Шаблоны/Архитектура для правильной обработки мастеров в веб-приложении

Я попытаюсь объяснить себя.

Мы разрабатываем веб-приложение, которое требует для некоторых объектов мастеров при создании/редактировании процессов, поэтому пользователь может переключаться между этапами и лучше контролировать сложность и поток, необходимый для создания таких объектов.

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

So , любой из вас, ребята, уже создал приложение с мастерами? Какие-либо предложения?!?

PS: Я использую Rails, но вопрос в том, как правильно моделировать описанный сценарий, независимо от технологии.

ответ

1

По моему мнению, вы можете использовать возможности браузера, такие как файлы cookie, локальное хранилище, индексированные данные DD для хранения данных шагов мастера и с помощью Jquery или Javascript-библиотеки по вашему желанию, могут управлять сохраненными данными или извлекать такие данные.

Если есть какая-либо операция, которая будет запущена с вашего мастер-шага, который даст серверный вызов, затем кешируйте эти результаты каким-то другим способом, вместо того, чтобы повторно использовать результат с сервера.

+0

В итоге я использовал очень похожий подход к тому, что вы предложили: Все шаги создания обрабатываются на стороне клиента через изображения AngularJs, контроллеры и простые JS-модели. Необходимые данные создаются и извлекаются с сервера с помощью простых запросов XHR, и я реализовал некоторые серверы на стороне сервера для сопоставления существующих моделей с клиентскими машинами для каждого шага ... –

+0

Отлично! Это помогло. Что-то особенное, что вы пошли вперед с AngularJS? – ATechieThought

+0

Совсем нет ... Просто потому, что он уже использовался над приложением. –

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