Summary
As was noted in the beginning of this chapter, we had a good overview of the architectural concepts related to the modular implementation of our application.
We discussed the main pieces of the application and saw how they come together to create a cohesive ecosystem.
We also examined the specific roles that the pieces play in the overall application design and looked at how we can create a good separation of responsibilities and concerns among our modules and components.
One of the important aspects that we focused on was to loosely couple our various application pieces together, which allows for ease of maintainability as well as future extensibility.
While some application code was shown in the chapter, we did not get deeply involved in analyzing the code and the application implementation. This is exactly what we will cover in the next chapter, where we will have a closer look at how things are done under the hood.