Domain driven design 实体访问全局变量的最佳实践是什么?

Domain driven design 实体访问全局变量的最佳实践是什么?,domain-driven-design,entity,Domain Driven Design,Entity,我有一个全局变量接口,如下所示: public interface ClientSettings{ DateTime CurrentClientTime; string ClientImageFolder; } 使用设置文件或数据库表持久化具体类 这些值必须由域和应用程序层中的实体和服务访问。我一直在我的应用层中使用DI,所以从这里访问它是没有问题的 但是现在我需要从实体访问这个接口,我不确定这样做的最佳方式。我真的不想把它注入我的实体。这里的服务定位器模式合适吗?或者

我有一个全局变量接口,如下所示:

public interface ClientSettings{
    DateTime CurrentClientTime;
    string ClientImageFolder;    
}
使用设置文件或数据库表持久化具体类

这些值必须由域和应用程序层中的实体和服务访问。我一直在我的应用层中使用DI,所以从这里访问它是没有问题的


但是现在我需要从实体访问这个接口,我不确定这样做的最佳方式。我真的不想把它注入我的实体。这里的服务定位器模式合适吗?或者我还有其他选择吗?

在这种情况下,我会尝试设计实体和应用层,以便应用层在对实体进行操作时向实体提供所有必需的设置信息。设置通常是一个应用程序问题,因此应由应用程序层管理。此外,应用程序级设置容器对象(例如
ClientSettings
)可能包含应用程序各个部分的设置,这些设置可能不适用于给定实体。这是减轻域实体责任的另一个理由。

在这种情况下,我将尝试设计实体和应用层,以便应用层在对实体进行操作时向实体提供所有必需的设置信息。设置通常是一个应用程序问题,因此应由应用程序层管理。此外,应用程序级设置容器对象(例如
ClientSettings
)可能包含应用程序各个部分的设置,这些设置可能不适用于给定实体。这是解除域实体责任的另一个理由