1

我们需要在基于 Spring MVC 的 Web 应用程序中创建一个聊天功能。

聊天会有一对一聊天和群聊两种。

对于群聊,我提出了以下架构。

Table = group_chat 

User_id, message, message_on (datetime), group_id

不过,我不确定一对一的聊天。

一对一聊天可能发生在组外或组内两个组成员之间。

请帮忙

4

1 回答 1

5

您的问题有点开放式,因为我们对您的架构或要求一无所知。但是,对于本质上相同类型的数据,拥有两个单独的表对我来说就像是代码异味。我可能会从这样的结构开始,并根据它的执行方式对其进行迭代。

USERS
user_id
username
password

GROUP
group_id
name

GROUP_MEMBERS
group_id
user_id

MESSAGE
message_id
timestamp
from_user_id
destination_type (enum - group, user)
destination_id

您对聊天功能所做的任何添加都会自动传播到点对点和群聊。当然,这也要求您的代码遵循将两​​种聊天类型组合到同一个类中的相同原则。

于 2013-07-25T03:36:18.843 回答