我最近讨论了如何建模一些数据。上下文是我们必须为具有名称和其他信息的实体建模。
Entity:
Long id
String name
String something
int something-else
最初的方法是使用Id(随机数字)来唯一地标识实体,并且实体中的其余信息是可变的。然后我们将在
的行上设计一个APIEntity getEntity( long id );
这意味着有兴趣使用API的客户必须对ID进行硬编码或使用ENUM将id映射到“文本”引用并使用它。
另一种意见是使用名称本身作为唯一标识符并使用它。它将更加客户端友好,因为它不需要他们硬编码一些随机数,按字面值对读者没有任何意义。我有点同意这种观点,因为基于文本的id比一堆数字更有意义。但是,这意味着它自己的名称将是不可变的,对名称的任何编辑都意味着删除&创建
我想知道别人对这个论点和现实世界经历的看法。