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?