Итак, я попросил моего руководства включить способ для пользователей отмечать страницы на моем сайте как «любимые» и отображать их в специальном списке. Этот сайт имеет статическую структуру (я не создаю страницы). Мне интересно, как лучше всего это сделать. Моя первая мысль заключалась в том, чтобы хранить его в базе данных (поскольку информация пользователя также хранится там), но я полагаю, что я мог бы также использовать свойства профиля ASP.NET. Есть ли другие способы, которые я не рассматривал? Как бы вы все это сделали?Как бы вы создали систему «Избранные страницы»
ответ
Я хотел бы использовать базу данных, главным образом, потому что я хочу, чтобы хранить список вещей с определенными свойствами (в частности, список URLS, с подробной информацией о названии страницы, пользователя, Избраных и т. Д.). Скорее всего, я хотел бы сделать что-то подобное в моей БД:
FavoritePages
*************
pageId (pk, int)
title (string)
url (string)
Favorites
*********
userId (fk)
pageId (fk)
Если вы используете свойство профиля, вы сохранение списка ссылок для каждого пользователя, в основном в строке для каждого пользователя ((сериализовать?) так как хранятся свойства профиля ...). Если заголовок или URL-адрес одной страницы меняются, вам не удастся его обновить и отразить на всех страницах пользователей.
Скорее всего, вы получите более высокую производительность при хранении нескольких частей информации, чтобы сохранить это в отдельной таблице с помощью чего-то вроде UserId, PageUrl, PageTitle или чего-то подобного, чтобы информация была доступна сразу.
Это также дает вам централизованный доступ к общим ссылкам. Если вы удалите страницу из системы, вы можете быстро удалить ее из системы «Избранное».
Я хотел бы получить базу данных. люди голосуют за страницы и помнят голоса, поэтому люди могут изменить свой голос. Итоговые суммы Calcualte и/или средние (в зависимости от математики голосования) и берут их оттуда.
Если вы говорите об одной пользовательской системе (не сопоставляя пользователей голосов с голосом пользователей B), вы можете использовать профиль mechainsm, так как в любом случае вы будете хранить небольшой список. То, что вы освобождаете, - это mecahnism, чтобы запросить их эффективно (как администратор).
Довольно во многом дизайнерское решение, основанное на личных предпочтениях. Аргументы, сделанные в обоих направлениях. Я, возможно, поеду с базой данных - в свете более легкого обслуживания и последующего расширения.
- 1. Как бы вы создали систему голосования RESTful?
- 2. Как бы вы создали поточную систему обмена сообщениями?
- 3. Вопрос дизайна: Как бы вы создали повторяющуюся систему событий?
- 4. Как бы вы создали систему мастеров с PHP?
- 5. Как бы вы создали файловую систему базы данных (DBFS)?
- 6. Как бы вы создали эту БД?
- 7. Как бы вы создали статическую версию UIPopoverView?
- 8. Как бы вы создали вход «Описание»?
- 9. Как бы вы создали hackable url
- 10. Вы создали бы службу WCF для ...?
- 11. Как бы вы сделали запрос, когда создали форму?
- 12. Как бы вы создали пользовательскую базу данных с asp.net mvc
- 13. Как бы вы создали эту веб-страницу с несколькими формами?
- 14. Как бы вы создали хороший пользовательский интерфейс для поиска?
- 15. Как бы вы создали 2D-массив кортежей в Java?
- 16. Как бы вы создали базу данных для этого типа проблем?
- 17. Как бы вы создали веб-сервер python с несколькими vhosts?
- 18. Как бы вы создали такой DSL в Ruby?
- 19. Как бы вы создали уникальный индекс для внешней таблицы?
- 20. Elm: Как бы вы создали и стиль своего интерфейса?
- 21. Как бы вы создали возможность повторить попытку в Python?
- 22. Как бы вы создали приложение без окон с C++/Qt5?
- 23. Как бы вы создали форму со многими динамическими полями?
- 24. Как бы вы создали JSON Schema для произвольного ключа?
- 25. Как бы вы создали эту базу данных MySQL?
- 26. Как бы вы создали слоты для букв и кодов?
- 27. Как бы вы создали базу данных для матрицы сравнения
- 28. Как бы вы создали строку из всех символов UTF-8?
- 29. Как бы вы создали приложение для запуска машины?
- 30. Как бы вы создали конструктор для структуры, содержащей замыкание?
Это * точно *, к письму, что я делал по этому вопросу. Замечательно, что я был на правильном пути! –