I completely understand the Observer design pattern, what it is for and how to implement it. I also understand what the term 'loosely-coupled' means.
But I'm not sure how Observer makes designs more loosely-coupled.
For example, let's say I want objects B and C to get updates from object A about it's state. The Observer pattern is a great way to do that. But one could also implement this with a more 'brute-force' way, not using the pattern.
Please explain to me how the Observer pattern allows for more loosely-coupled designs. I'm not sure I completely understand. Thanks
(Again, I understand what 'loosely-coupled' means, but not exactly how Observer allows for designs to be more loosely-coupled).