【发布时间】:2013-10-08 18:29:07
【问题描述】:
我们有一个基于 SOA 的应用程序,应用程序之间几乎没有依赖关系。 例如,我们在 master 中有城市代码供其他应用程序使用。
在依赖应用程序中,最好有城市记录的城市代码或主键id。我觉得城市代码更多地作为业务数据而不是 id 发送(这有点耦合)。
【问题讨论】:
标签: soa
我们有一个基于 SOA 的应用程序,应用程序之间几乎没有依赖关系。 例如,我们在 master 中有城市代码供其他应用程序使用。
在依赖应用程序中,最好有城市记录的城市代码或主键id。我觉得城市代码更多地作为业务数据而不是 id 发送(这有点耦合)。
【问题讨论】:
标签: soa
主键感觉就像是服务和数据库私有的实现细节。我不会将这些细节暴露给服务的客户。
但听起来您的城市代码是一个唯一字段,至少是一个候选键。在这种情况下为什么不使用 it 作为主键呢?
如果城市代码中的业务逻辑可能发生变化,则代理键可能有意义。但如果不是这样,也许你可以考虑一下。
【讨论】:
我会使用一个代码(例如“DUB”)并将其用作我系统中的共享合同,无论如何没有一个服务拥有它?这样你就可以解耦依赖并拥有一个更易读、基于约定的键......
【讨论】:
为此,我将使用域值图 (DVM)。 域值映射对在运行时通过基础架构传输的实际数据值进行操作。它们使您能够将给定领域中使用的一个词汇映射到不同领域中使用的另一个词汇
【讨论】: