The last topic we should discuss is how we want to deploy our new module alongside our application. There are several different deployment strategies that we can make use of, each of which has its own advantages and disadvantages. In the next section, we'll go over the benefits and downfalls of a few different strategies. When the time comes to deploy your module alongside your application, be sure to give careful thought to how you want your module and application to be integrated.
The simplest deployment strategy we can use is to simply commit our module's source code directly to our main application. When the time comes to deploy our application, our module is automatically included. While incredibly simple and basic, this strategy has several disadvantages.
First and foremost, it binds the state of our module to our application, which makes it more likely that we'll unintentionally introduce bugs or incomplete features...