请查看以下简化的示例代码:
当我需要测试这段代码时,我通常会得到以下结果:
CreateRequest方法只是有一个新的Request(data),因此我可以模拟工厂并返回一个模拟对象。
问题是,我开始为一些简单的任务创建了许多工厂,我想知道这是否正常,或者是否有一种模式或另一种方法可以帮助我克服这个问题。
有什么想法吗?提前感谢。
public class RequestManager
{
public RequestManager()
{
}
public void ProcessRequest(byte[] data)
{
IRequest request = new Request(data);
request.Send();
}
}
当我需要测试这段代码时,我通常会得到以下结果:
public class RequestManager
{
private IRequestFactory requestFactory;
public RequestManager(IRequestFactory requestFactory)
{
this.requestFactory = requestFactory;
}
public void ProcessRequest(byte[] data)
{
IRequest request = this.requestFactory.CreateRequest(data);
request.Send();
}
}
CreateRequest方法只是有一个新的Request(data),因此我可以模拟工厂并返回一个模拟对象。
问题是,我开始为一些简单的任务创建了许多工厂,我想知道这是否正常,或者是否有一种模式或另一种方法可以帮助我克服这个问题。
有什么想法吗?提前感谢。