我已经使用了大量的依赖注入,但我想获得关于如何在运行时处理来自用户的信息的输入。什么是依赖注入用户输入的最佳策略?
我有一个类连接到COM端口。我允许用户选择com端口号。现在,我将该com参数作为构造函数参数。理由是,如果没有这些信息,类就不能运行,并且它是特定于实现的(这个类的模拟版本不需要com端口)。
另一种方法是为具有“开始”方法,它采用在com端口,或具有设置com端口的属性。这使得它与IoC容器非常兼容,但从类的角度来看它并不一定有意义。
好像逻辑路径的冲突与依赖注入的设计,但它是因为我的UI是针对特定类型的类中获取信息。
其他替代方案将包括使用IoC容器,让我通过额外的构造函数的参数,或者只是构建我需要在顶层的类,而无需使用依赖注入。
是否有这类问题的一个普遍接受的标准模式?
对不起,我应该已经更清楚了。 com端口只是一个数字。测试不是问题,因为我可以创建类的模拟版本。提前不知道com端口,我从用户那里得到它。由于这种情况,使用户界面使用界面似乎很愚蠢,因为它需要一个需要com端口的实现。 – 2009-11-05 19:32:27