I am designing a WinForms application in C# and wanted to get a design check by you guys. I am fairly new to programming and have been reading some material, so please excuse my mis-usage of words or 'computer science' terminology if need be.
I have a MDI application with MAIN as my parent form and various other CHILD forms. Now whenever an exception occurs, whether in MAIN or a CHILD form, it needs to be logged into a LOG window, which itself is a child form of MAIN.
Reading material over the web, a lot is said to have loosely coupled classes. Now my thinking is that I will have a non-form class, called Log Collector Class which will basically be the "middle man" between all non-log window forms and the window form. Any exception, or update in general to the log window, will need to go through this middle man class. In turn, there will be a custom event in which if this Log Collector Class is updated, the listener, aka the Log Window, will update whatever control it needs to update to display the exception.
An image for visual people:
Any comments on this would be great, especially if I am doing things correctly (or in-correctly).