@ssrdop

Архитектура mvc + модули, как правильно поступить?

Есть приложение с архитектурой mvc + модули, которые можно вызывать в шаблонах и получать необходимый контент.
Возник следующий вопрос - например, на странице site.ru/news/its-first-news-url я хочу просмотреть новость целиком. Но прежде в контроллере я получаю информацию по этой новости, чтобы задать title, description, keywords и прочее. То есть уже обращаюсь к базе данных по этой новости. Далее, в шаблоне вывода новости я вызываю модуль "Новости" с параметром "url новости". Соответственно, модуль ищет в базе данных новость с url данной новости и возвращает html.
Вроде все хорошо, но для того чтобы показать новость, приходится 2 раза лезть в базу по одному и тому же, фактически запросу. Как от этого можно избавиться?
Как вариант, из контроллера передавать в шаблон, а в нем уже в модуль информацию по странице. Но тогда будет жесткая привязка модуля к контроллеру, что, на мой взгляд, не есть хорошо.
Как правильно здесь поступить? Если есть возможность - ссылки или описания ваших решений, спасибо!
  • Вопрос задан
  • 266 просмотров
Решения вопроса 2
@AnneSmith
самая ленивая
да, старинный такой подход
нынче все пакуют в json и потом на клиенте показывают, что нужно в конкретный момент, особенно в свете мобильного тырнета
Ответ написан
Комментировать
Basim108
@Basim108
Full stack .Net программист, архитектор.
Да, согласен с предыдущим ответом. В таком случаи лучше сделать более умным клиента и регулировать переход на страницу новости через browser history API или router фреймворк, который используете на клиенте.
т.е. эмитируете переход на новую страницу (и в адресной строке поменялось и в истории браузера добавилась запись) но на самом деле обращения к серверу второй раз не было.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы