【发布时间】:2009-11-05 19:20:30
【问题描述】:
我使用了相当多的依赖注入,但我想了解如何在运行时处理来自用户的信息。
我有一个连接到 com 端口的类。我允许用户选择 com 端口号。现在,我将那个 com 端口参数作为构造函数参数。原因是该类在没有该信息的情况下无法运行,并且它是特定于实现的(此类的模拟版本不需要 com 端口)。
另一种方法是使用“启动”方法来接收 com 端口,或者具有设置 com 端口的属性。这使得它与 IoC 容器非常兼容,但从类的角度来看它并不一定有意义。
逻辑路径似乎与依赖注入设计冲突,但这是因为我的 UI 正在获取特定类型的类的信息。
其他替代方法包括使用 IoC 容器,它让我可以传入额外的构造函数参数,或者只在顶层构造我需要的类而不使用依赖注入。
对于这类问题是否有普遍接受的标准模式?
【问题讨论】:
标签: dependency-injection inversion-of-control design-patterns