我无意在守则所属的DDD中就验证问题进行辩论,而是侧重于一种可能的做法以及如何解决当地化问题。 我对我的一个领域目标(实体)有以下行为(方法),即:
public void ClockIn()
{
if (WasTerminated)
{
throw new InvalidOperationException("Cannot clock-in a terminated employee.");
}
ClockedInAt = DateTime.Now;
:
}
如你所知,Clock 采用的方法是检查目标状况,以确保雇员不终止。 如果雇员被解雇,我们就提出一种与“允许贵实体进入无效状态”做法相一致的例外。
我的问题是,我需要把例外信息本地化。 通常(在申请中)使用申请服务(I Localization Service),在需要获得其方法的班级使用MEF进口。 然而,如同任何DI框架一样,如果该物体由集装箱立即发射,则只能注入/进口该物品。 一般来说,DDD的情况并非如此。
Furthermore, everything I ve learned about DDD says that our domain objects should not have dependencies and those concerns should be handled external from the domain object. If that is the case, how can I go about localizing messages such as the one shown above?
这不是一项新要求,因为许多商业应用要求全球化/当地化。 我赞赏关于如何开展这项工作的一些建议,并且仍然符合DDD的目标。
<>>>>>
我没有首先指出,我们的地方化是所有数据库的驱动力,因此我们确实有一个地方化服务(通过可注射的“地方化服务”接口)。 因此,作为该项目的一部分,使用静态资源类别视觉演播室是一种可行的选择。
www.un.org/spanish/ecosoc ANOTHER UPDATE
也许会将讨论推向于说,这只是一种教育、科学和技术服务。 因此,客户可以成为简单的网络浏览器。 因此,我无法期望打电话者能够从事任何形式的地方化、绘制法典等工作。 当出现例外情况时(在这种做法中,试图将域标变成一个无效的国家是一种例外),就会放弃一个例外,并将适当的《吉大港山区地位法》退回,同时发出例外信息,该信息应当被本地化到电离层文化中(Accept-Language)。