Датамодель для временных пользователей на форуме - PullRequest
0 голосов
/ 22 июля 2011

Я создал форум, но теперь выяснил, что для создания большего трафика мне нужно разрешить анонимным пользователям добавлять сообщения.

Идея состоит в том, что пользователь, не имеющий учетной записи, можетнапишите сообщение и заполните следующие поля (как вы можете с помощью stackoverflow):

[имя пользователя] [электронная почта] [сообщение]

модель данных выглядит примерно так (немного упрощенно)):

ForumThread/ForumPost: [Id][CreatedDate][Title][Message][UserId]...

User: [Name][Email][CreatedDate][Address][City]...

Теперь вопрос в том, как лучше всего расширить существующую модель данных для поддержки анонимных пользователей.Анонимным пользователям не нужны все поля как обычные пользователи, например, Адрес и т. Д. Прагматичным способом было бы создать тип пользователя, описывающий различные типы пользователей, или я мог бы использовать некоторое наследование пользователя, но для этого требуется немалоповторяющийся.

Есть третий вариант, который я забыл?

Ответы [ 2 ]

2 голосов
/ 22 июля 2011

Добавить свойство Role для пользователя и иметь анонимные и зарегистрированные в качестве ролей. Оставьте свойства пустыми, которые не имеют отношения к анонимным пользователям. Хотя лично я бы просто реорганизовал подтипы.

0 голосов
/ 22 июля 2011

Создайте пользователя в таблице «Пользователи», который является «анонимным» пользователем, и сделайте анонимные сообщения под идентификатором пользователя этого пользователя.

...