Summary
In this chapter, we have learned the importance of establishing and maintaining a scalable app architecture. We have learned how to scope and manage the responsibilities of the application’s moving parts by adopting the multitier architecture and its presentation, data, and domain layers. We have seen various approaches and reviewed their benefits and trade-offs, which equipped us with the knowledge to make the correct choice for ourselves. We have also seen that there is not just one correct solution, but rather multiple approaches that can be taken. It is important to apply critical thinking and try different approaches in practice to determine what works best for you.
Additionally, it is important to follow good design practices. We reviewed how, by following best practices and design patterns, we have implicitly followed the widely adopted good software design principles, such as DRY, KISS, YAGNI, and SOLID.
In Chapter 9, Mastering Concurrent Programming in...