The Tripartite Identity Pattern

设计“用户名”的时候应该有三种不同的东西:account id - 大数字、用来做foreign key的、用户无需知道、不能重名;login id - 用来登录的方式,用户记得住,但别公开,不能重名;public id - 公开的名字、头像等,可以重名。