Other modules can only access functionality and knowledge by means of the offered interface. Usually, it is nice to encapsulate as much as you possibly can. Occasion-pushed architecture decouples components through asynchronous messaging. Modules publish occasions without having figuring out who consumes them. This creates really flexible systems but introduces difficulties https://modularsoftwaresuite79012.idblogmaker.com/36011379/security-system-integration-solution-an-overview