【发布时间】:2018-07-30 11:25:37
【问题描述】:
假设,有一个人和一个地址对象。该人没有对地址的引用,而只有其 ID。例如:
Person {
id: PersonId,
addressId: AddressId,
name: String,
...
}
Address {
id: AddressId,
street: String,
....
}
模型是旧的,无法更改。
现在你想为这个人设置一个地址,你会如何设计这个调用的 API。您只能选择两种可能性:
void setAddress(PersonId id, Address address)
void setAddress(Person person, Address address)
如您所见,唯一的区别是,一次只发送人员的 id,一次发送完整的人员对象。
你会选择哪一个?为什么?
PS:这个问题来自工作中的内部讨论,我只是对其他程序员/设计师如何看待这个问题感兴趣。
【问题讨论】:
标签: api-design