Application architecture overview
To create a truly modular design for our application, we need to break it down into smaller functional pieces, in such a way that each piece will specialize in and be responsible for very specific tasks. This enables us to achieve the principle of separation of concerns and responsibilities.
The following diagram provides a depiction of our overall application design:
As you can see, our application consists of four main pieces:
Base
Sandbox
Core
Component
At the same time, each main piece may consist of other smaller pieces which are packaged together to create the main piece.
Let's start by exploring each main piece of the application and looking at the specific functionality that each piece provides.
For our purposes in this book, from this point forward, when I talk about components, I'll be referring to modules that have user interface pieces (views) which the user is able to interact with, such as the header component. However, when I refer to modules I will...