Summary
We have looked at abstractions combined with clever API design, which together form the key to building successful frameworks. We have also expanded our knowledge of common framework interfaces that provide value to developers and make the application development process much more efficient and approachable. Understanding how modules, libraries, and frameworks are used helps us be better system architects. In addition, the ability to use the debugger to quickly explore how all these pieces come together in existing frameworks empowers us to be much more efficient developers.
Now that we are more familiar with various organization patterns, we can dive deeper into the specific techniques that help us architect new systems. In the next chapter, we are going to look at the existing and common patterns that combine the building blocks that we have learned into a cohesive system.