在当前的(C#)项目中,我们有一个包含非接口连接对象的第三方程序集。使用IoC等技术,我们可以将这个具体实例注入到我们的代码中,但是这证明是一个噩梦来进行单元测试等。我们正在使用MoQ作为我们的模拟框架,因此最好能够使用接口来工作,而不想使用类似Moles这样的东西,因为我们想尽量减少技术。
如果我们创建一个接口来模仿第三方连接对象所需的功能,然后创建一个实现该接口的实现者,其中包含第三方对象的实例,那么这将允许我们的代码使用接口,我们的IoC和单元测试都将很高兴。然而,在一次讨论中,我们围绕着它到底是哪种设计模式而打转!
因此,问题是,“上述情况并在下面的代码中说明是否是:”
如果我们创建一个接口来模仿第三方连接对象所需的功能,然后创建一个实现该接口的实现者,其中包含第三方对象的实例,那么这将允许我们的代码使用接口,我们的IoC和单元测试都将很高兴。然而,在一次讨论中,我们围绕着它到底是哪种设计模式而打转!
因此,问题是,“上述情况并在下面的代码中说明是否是:”
namespace ExampleCode
{
public interface IConnector
{
void Open();
}
public class ConnectorWrapper : IConnector
{
ThirdPartyConnector _instance;
public ConnectorWrapper(ThirdPartyConnector instance)
{
_instance = instance;
}
void Open()
{
_instance.Open();
}
}
}