Стиль Facebook "Что нового?" В проверке исправности ASP.net MVC - PullRequest
1 голос
/ 05 июня 2009

Я хотел бы создать представление «Что нового» в стиле Facebook для моего приложения asp.net mvc.

Это может генерировать контент, такой как ...

* Ciaran sent a message to The Rise and Fall of the Rockets
* Rick is going to Songs for the bathtub on Thursday, 28 June 2009
* Col became a fan of The Rise and Fall of the Rockets
* Leeroy posted Busk To Beat Cancer
* Tom went to HMV Showcase on Friday, 19 May 2009

Он - подход, который в настоящее время находится в моей голове ...

Каждый из этих элементов представляет различные типы контента.

Например, концерты, новости, комментарии и т. Д.

Каждый тип контента хранится в отдельной таблице базы данных, т.е. концерты, новости, комментарии и т. Д .:

Когда в приложение добавляется новый контент (например, создается новость), я планирую создать дополнительную запись в «WhatsNew table»

Таблица 1: WhatsNew

id, contentId, creationDate

Table2:

userId, contentId

Когда пользователь просматривает фрагмент контента, в таблицу 2 добавляется запись (идентификатор пользователя и контент).

Представление выше создано:

1) Возвращение contentIds из таблицы WhatsNew, в которой нет записи в таблице 2 для конкретного вошедшего в систему пользователя, упорядоченного по дате создания.

Затем я прошу мой newsManager, gigsManager и т. Д. Предоставить мне краткое содержание на основе этих идентификаторов. Я могу просто передать все идентификаторы, даже если они могут представлять различные типы контента, так как contentids - это подсказки, и я предполагаю, что я не получу никаких коллизий по моим таблицам (у меня есть только один дБ). В качестве альтернативы я мог бы использовать какой-нибудь дискриминатор ....

Все итоговые объекты реализуют ISummary и могут также содержать сделанные на заказ данные. Итак, теперь у меня есть список, который я передаю в представление ...

Каждый тип сводки имеет частичное представление, которое знает, как его отобразить. Часть, используемая для визуализации определенного элемента, будет выбрана на основе типа сводки. (Обратите внимание, что список будет содержать различные типы сводки….

Обратите внимание, что я не хочу, чтобы таблица WhatsNew фактически содержала строки заголовков, такие как «Рик идет в Песни для ванны в четверг, 28 июня 2009 года», поскольку это затруднит

  1. изменить способ их создания, т. Е. Я могу сформулировать их по-разному в зависимости от местоположения пользователя.

  2. даты интернационализации и т. Д.

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

например, заголовок «Рик идет в Песни для ванны в четверг, 28 июня 2009 года» содержит несколько ссылок !!

Мысли? Это кажется разумным? Чувствуется неприглядно.

1 Ответ

0 голосов
/ 10 июня 2009

Я бы просто пропустил таблицы.

Спросите у различных секций их последние материалы и покажите 15 лучших или что-то еще. Каждый раздел будет реализовывать интерфейс для отображения данных для сообщения и может быть рассчитан во время выполнения. Да, я бы использовал идентификаторы для всего, а не для сгенерированных заголовков / сообщений.

И если вы не пометите их как прочитанные / просмотренные каждым пользователем, я не стал бы беспокоиться и об ассоциативной таблице пользовательского контента.

...