I have a scenario whereby I want n amount of classes to look at the same data and decide if any work needs to be done. Work is done by a team, and multiple teams can work on the data at the same time. I was thinking of creating a class for every team that would implement the CreateWork interface. All CreateWork classes must have their say. At the moment there are only a few but in the future there will be many more.
Sudo code for my planned solution
For each CreateWork class in assembly
class.CheckAndCreateWork(dataIn,returnedCollectionOfWorkToBeDone)
Next
Is there a design pattern that can accomplish this in an elegant way? Seems a bit messy to loop round every class in the assembly.
Cheers