我有一个像这样的全局变量接口:
public interface ClientSettings{
DateTime CurrentClientTime;
string ClientImageFolder;
}
使用设置文件或数据库表来保留具体类。
这些值必须由域和应用程序层中的实体和服务访问。我一直在我的应用程序层使用DI,所以从那里访问它是没有问题的。
但是现在我需要从实体访问这个接口,我不确定最好的方法。我真的不想把它注入我的实体。这里的服务定位器模式是否合适?或者我还有其他选择吗?
答案 0 :(得分:1)
在这种情况下,我会尝试设计实体和应用程序层,以便应用程序层在对它们进行操作时向实体提供所有必需的设置信息。设置通常是应用程序问题,因此应由应用程序层管理。此外,应用程序级别设置容器对象(例如ClientSettings
)可能包含应用程序的各个部分的设置,这些设置可能不适用于给定实体。这是解除责任域实体的另一个论点。