Part 3: Exploring Practical Design Patterns and Architecture Best Practices
In this part, we will continue filling our toolbox with useful design and architecture patterns and best practices. We will explore a variety of topics, starting with how to build an efficient data layer with repository patterns and various dependency injection (DI) practices. We will then look at multiple approaches to layered architecture, learn how to implement them, and reason about software design principles such as SOLID, DRY, and KISS. We will proceed by diving into the best practices for managing concurrency in Dart, and finally, learn how to efficiently tackle tasks that take us beyond Flutter, to the native platform layer.
This part includes the following chapters:
- Chapter 6, The Responsible Repository Pattern
- Chapter 7, Implementing the Inversion of Control Principle
- Chapter 8, Ensuring Scalability and Maintainability with Layered Architecture
- Chapter 9, Mastering Concurrent...