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