The Single Responsibility Principle is one of the core principles of SOLID. It states that a class or code segment should be responsible for a single functionality and that it should own that functionality completely. The code should change or evolve only if there is a functional change or bug in the current functionality and not otherwise. This code should not change because of changes in some other component or code that is not part of the current component.
Applying the same principle to ARM templates helps to create templates that have the sole responsibility of deploying a single resource or functionality instead of deploying all resources and a complete solution.
Using this principle will help you create multiple templates, each responsible for a single resource or a smaller group of resources rather than all resources.
...