Мысли о навигационной архитектуре? - PullRequest
1 голос
/ 11 сентября 2010

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

Например, давайте предположим, что веб-приложение поддерживает несколько различных досок объявлений. URL-адрес для доступа к третьему комментарию на доске А может быть http://msg.com/A/3,, и мы можем ответить на это сообщение по адресу msg.com/A/3/reply. Для URL-адреса не требуется указывать состояние - я могу сразу перейти на msg.com/B/25/reply, чтобы ответить на 25-е сообщение форума B.

Как бы вы структурировали свой код для обработки такого рода навигации? Предположим, вы знаете, как разобрать URL.

Потенциальные проблемы:

  • Некоторые компоненты интерфейса не заботятся о том, где они находятся, но некоторые должны знать. Кнопка выхода из системы может просто перейти на msg.com/logoff, не заботясь о том, где она была нажата. С другой стороны, кнопке ответа (или тому, что настраивает кнопку ответа) необходимо знать, какую доску и сообщение мы сейчас читаем, чтобы она могла ссылаться на правильный адрес.

  • В идеале код должен оставаться отделенным. Это означает отсутствие глобальной строки, к которой весь код может обращаться и изменять, если мы можем помочь. Мы могли бы использовать шину событий или инъекцию в качестве предпочтительной альтернативы.

Я не знаю, считается ли это вопросом здесь ... Я просто ищу мысли, правда!

1 Ответ

0 голосов
/ 11 сентября 2010

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

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

...