Service 获取国家代码-服务或实用程序方法?

Service 获取国家代码-服务或实用程序方法?,service,domain-driven-design,utility,Service,Domain Driven Design,Utility,获取国家代码或内部id可能需要访问数据库或加载属性文件 但是,这样的方法如何放置在应用程序中呢?作为一种实用方法,它看起来不合适,因此它是否适合应用程序服务?在DDD中,这种类型的方法将被放置在a中,这基本上是数据访问层的抽象。对于国家代码,你可以考虑缓存数据,因为它是静态的。 < P>我的经验是,国家没有内部ID。(您的域可能不同。)因此,如果您的域中不存在域,并且您正在进行域驱动设计,那么您将希望避免使用诸如国家id之类的人工概念 假设数据库中有一个地址表。不要存储CountryId,而是存

获取国家代码或内部id可能需要访问数据库或加载属性文件


但是,这样的方法如何放置在应用程序中呢?作为一种实用方法,它看起来不合适,因此它是否适合应用程序服务?

在DDD中,这种类型的方法将被放置在a中,这基本上是数据访问层的抽象。对于国家代码,你可以考虑缓存数据,因为它是静态的。

< P>我的经验是,国家没有内部ID。(您的域可能不同。)因此,如果您的域中不存在域,并且您正在进行域驱动设计,那么您将希望避免使用诸如国家id之类的人工概念

假设数据库中有一个
地址
表。不要存储
CountryId
,而是存储
country缩写
。这是一把天然钥匙

现在,您如何确保您的地址只有有效的国家/地区id?如果你控制着所有的客户(例如),那么你可以这样做:

<select>
  <option value="US">United States</option
  <option value="UK">United Kingdom</option
</select>

美国