How to use Domain Events to write decoupled software

Learn how to use this powerful technique that helps to avoid coupling while also guiding towards the Single Responsibility and Open-Closed principles.