I think you need the Strategy Pattern
. You define an interface with a method:
interface Configure{
public YourObject excecute(YourObject o);
}
You implement the interface in the variety of ways you want and you declare it as a member field. Then you instantiate the appropriate class according to the values of the variables.
If you want to save the Objects then you can use the Command Pattern
as well.
Update: Ok in Software Enginneering there is usually no absolute truth.
With the Command Pattern
you have already a class that does some tasks and you want to save them as Objects from a class deriving from an interface, in order to use them later etc. I do not reckon that your case requires such an approach, since you need merely diverse functionalities defined as an interface method. Strategy Pattern
is therefore in your case a more elegant approach.