Closed mlegenhausen closed 13 years ago
Sounds like having three classes instead of one. Is the drawback that AbstractOperation has to be extended so significant that the new complexity is justified?
Maybe this issue can moved to a release 0.5 cause it will have multiple API changes.
Cause this includes some really heavy refactorings in all dependend drivers it is moved to a later release. Other things has now more priority.
Cause this has only internal API changes this issue can move to the release 0.4.
An Operation currently contains the operation itselfs and the whole lifecycle. The lifecycle of an operation should separated. This reduces the code and can make the AbstractOperation not anymore necessary. So you can create a operation by only implementing an interface instead of extending a class.
This will introduce a OperationContainer, OperationContainerFactory, OperationContext (for accessing the container from the operation, e.g. for canceling an operation).