Creating loose coupling among modules
In a modular design, an application is often created using many modules. In order for these modules to work together, we need to create coupling among them, without the modules being tightly dependent on each other.
Let's create an application based on a few simple modules and have the modules interact with each other in a loosely coupled manner. Of course, we will keep this application very simple for now. In later chapters, we will take the concepts utilized in this application and build upon them to create our fully modularized application ecosystem.
I'm making the safe assumption here that our future application will consist of many separate modules, with each one of them being responsible for doing a very specific task.
We will start by creating our core application module and calling it ApplicationInitModule
. Usually, the very first step in running an application is to take care of the application's initialization tasks. Our ApplicationInitModule...