A few weeks ago my colleague PJ Hagerty wrote about driving your existing monolithic application toward a more modular design. This time around I’ll dive a little bit deeper into its importance and the benefits of application modularization.
One of the most important best practices in application development is testing, and more specifically automated and continuous testing. When your application is a monolith with multiple functionalities and responsibilities, automated testing becomes massively unwieldy. To illustrate this issue let’s use the following illustration of conceptual (and, admittedly trivial) photo gallery web application.