1

我们有一个基于 SOA 的应用程序,并且应用程序之间几乎没有依赖关系。例如,我们在 master 中有城市代码,供其他应用程序使用。

在依赖应用程序中,最好有城市代码或城市记录的主键id。我觉得城市代码更多地作为业务数据而不是 id 发送(这是一种更耦合)。

4

3 回答 3

2

主键感觉像是服务和数据库私有的实现细节。我不会将这些细节暴露给服务的客户。

但听起来你的城市代码是一个独特的字段,至少是一个候选键。在这种情况下为什么不使用作为主键呢?

如果城市代码中的业务逻辑可以更改,则代理键可能有意义。但如果不是这样,也许你可以考虑一下。

于 2013-10-02T11:26:21.147 回答
1

我会使用一个代码(例如'DUB')并将其用作我系统中的共享合同,无论如何没有一个服务拥有这个?这样你就可以解耦依赖并拥有一个更易读、基于约定的键......

于 2013-10-03T17:14:12.950 回答
0

为此,我将使用域值映射 (DVM)。域值映射对在运行时通过基础架构传输的实际数据值进行操作。它们使您能够将给定域中使用的一个词汇映射到不同域中使用的另一个词汇

于 2013-10-18T10:13:12.437 回答