【问题标题】:Localization in DDDDDD 中的本地化
【发布时间】:2017-06-21 12:02:22
【问题描述】:

我有一个物理参数列表(如压力、电压等),所有租户的所有用户都可以访问(多租户应用程序)。现在,我需要一种向不同用户显示适当语言的方法。

参数是一个聚合根:

class Parameter
{
    public string Name { get; }
    public string Description { get; }
}

我需要一种方法来本地化名称和描述。我的第一种方法是:

class Parameter
{
    public IDictionary<Locale, NameAndDescription> Info { get; }
}

但我觉得这不正确。

此外,管理员会希望在 UI 中编写不同的翻译。但用户会希望只看到选定的翻译(如果需要可切换)。

我应该如何解决这个问题?我应该将其从域中完全删除吗?我的应用层能否有编写适当翻译的方法(方便管理员)?我应该从上下文中解析当前语言环境,还是应该期望在到达端点时将其传递给 URI/DTO?任何其他有关 DDD 本地化的信息将不胜感激。

【问题讨论】:

    标签: localization domain-driven-design


    【解决方案1】:

    本地化应该在另一个 bounded context 中,可能使用 CRUD 架构实现,因为没有需要保护的业务规则/不变量。然后,在UI 中,使用访问bounded context 的翻译方法,parameters 的名称会根据用户的区域设置和/或管理设置显示给用户。

    换句话说,本地化似乎在您的核心域中不起任何作用,它们不参与保护域不变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-04
      • 2010-10-22
      • 2014-03-30
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多