First of all this is all just concept, I have no actual programming done yet. This is the situation:
I have a Class A which uses the Filesystemwatcher to watch for changes in a folder. (using events)
Then I have a 'Collection Class' B which has a List of A's.
Now what I want to happen is as follows,
A Change happens with the folder, A detects this and sends a message to B, B transfers this message to Class C. Class C then begins a method which updates the GUI. (What changes were made etc..)
Now I have searched and thought pretty long on this subject, but can't find the solution. But, I have found 2 design patterns:
Mediator and Observer.
As a software engineer I have to some degree once made the Observer pattern so I know some of the basics there.
Now to my questions:
What pattern is best to use in this situation?
How do I make it so that B transmits the message to C?
Do I need custom Events / delegates to make A transmit data to B or can I use the Built-in events?
P.S.: I'm using C# as my programming language.
edit: Thanks to everyone for helping me, votes are on the way.