I have a class StreamCopyOperation
which provides me such things like the average speed of the copy operation and other informations.
Now I have a constructor which looks like
public StreamCopyOperation(Stream source, Stream target, int bufferSize, int updateInterval)
{
//Initialize values
}
and a method
public void CopyStream()
{
//Copy the streams, send the progress updates, etc...
}
Now I don't know if all the arguments should be in the constructor or the streams should be passed in the method like this:
public void CopyStream(Stream source, Stream target)
{
//Copy the streams, send the progress updates, etc...
}
and the constructor gets only the buffer size and the update interval passed.
Or maybe everything should be in the CopyStream
method.
Is there something like a best practice or is this just a design decision?