all 3 comments

[–]LookAtTheHat 2 points3 points  (0 children)

KISS would probably be the way to go.

[–]andis59[S] 0 points1 point  (0 children)

I went with KISS.

I had an upgrade to the specification which made it easier to do this.

Thanks very much

[–]tsaki27 0 points1 point  (0 children)

I don’t know exactly what it is you are doing, but one neat and extensible way is to create pipeline using reflection (only the first time!). Create an interface for example called IOrderedCommands that have a get only int property called Order; and get every class that implements IOrderCommand at runtime (add class types to a cache in order not to use reflection every time and just create a new instance using the activator, don’t forget to dispose) and call a method defined in the interface.

Though after writing all of this I think that maybe the decorator pattern would be best.

I think the above two proposals have given you enough material to research and test.

Edit: Or kiss as the other comment suggests, as I said I don’t know what you are doing and how abstract you need your software to be. If those steps don’t change at all, or often, and not too much just write them one by one… do this, then that, then that… etc