Dependency injection 这些值是依赖项吗?

Dependency injection 这些值是依赖项吗?,dependency-injection,unity-container,Dependency Injection,Unity Container,我有一个封装远程调用的对象。它需要凭据才能拨打电话。我认为应该将凭据传递到构造函数中,这样,一旦创建了对象,用户就不必每次调用对象时都不断地传递凭据。这似乎是一个合理的因素 如果我这样做的话,使用这个对象的客户机需要传递一个工厂,而不是对象本身,这会增加复杂性,因为它们的凭据在运行时之前是未知的。因此,考虑到这些额外的工作,我想知道凭证(只是字符串值,没有代码)是否算作依赖项 这个问题有意义吗?你看,在使用IoC之后,我的脑海中浮现出这样一个事实:传递到构造函数中的任何内容都算作依赖项,因此可能

我有一个封装远程调用的对象。它需要凭据才能拨打电话。我认为应该将凭据传递到构造函数中,这样,一旦创建了对象,用户就不必每次调用对象时都不断地传递凭据。这似乎是一个合理的因素

如果我这样做的话,使用这个对象的客户机需要传递一个工厂,而不是对象本身,这会增加复杂性,因为它们的凭据在运行时之前是未知的。因此,考虑到这些额外的工作,我想知道凭证(只是字符串值,没有代码)是否算作依赖项


这个问题有意义吗?你看,在使用IoC之后,我的脑海中浮现出这样一个事实:传递到构造函数中的任何内容都算作依赖项,因此可能是接口实现的一个实例。

我不会将这些字符串视为依赖项。相反,创建可以注入的
IUserContext
IUserCredentials
抽象。

我不会将这些字符串视为依赖项。相反,创建一个可以注入的
IUserContext
IUserCredentials
抽象。

实际上,我正在使用一个Credentials类来减少参数的数量但我不相信。。。仅仅在容器中包装一些字符串值并不能改变这样一个事实,即实例化的对象需要将数据传递到构造函数中,而不是代码实现。因此,如果您认为可以添加“IUserContext”,那么我认为可以传入原始字符串。我认为在容器中包装字符串确实可以让您在使用工厂时更清楚地了解这些值的用途,例如,这。。。函数字符串不是依赖项,而是配置。使用构造函数注入来注入配置值通常是好的,但我试图防止在单个构造函数中混合依赖项和配置值。当使用信息特定于“上下文”时,
IUserContext
可能非常有用。考虑每个线程有一个用户(例如ASP.NET)。“我试图防止在单个构造函数中混合依赖项和配置值。”那么如何做到这一点呢?通过将这些配置值提取到它们自己的类中,或者通过使用这些配置值的属性。实际上,我正在使用Credentials类来减少参数的数量但我不相信。。。仅仅在容器中包装一些字符串值并不能改变这样一个事实,即实例化的对象需要将数据传递到构造函数中,而不是代码实现。因此,如果您认为可以添加“IUserContext”,那么我认为可以传入原始字符串。我认为在容器中包装字符串确实可以让您在使用工厂时更清楚地了解这些值的用途,例如,这。。。函数字符串不是依赖项,而是配置。使用构造函数注入来注入配置值通常是好的,但我试图防止在单个构造函数中混合依赖项和配置值。当使用信息特定于“上下文”时,
IUserContext
可能非常有用。考虑每个线程有一个用户(例如ASP.NET)。“我试图防止在单个构造函数中混合依赖项和配置值。”那么如何做到这一点呢?将这些配置值提取到它们自己的类中,或者使用这些配置值的属性。