Ensuring Scalability and Maintainability with Layered Architecture
Up to this point, we have explored various design patterns and best practices in different aspects of Flutter applications architecture. We have learned how to create a performant View layer, discussed options and implementations for the Business Logic layer, and implemented various patterns for an efficient Model layer. Now that we have clearly defined all our moving parts, it is time to combine them into a scalable and maintainable architecture.
Establishing efficient architecture practices and conventions is crucial to the successful life cycle of a project. It is important to understand that architecture, like everything in software, is an iterative process. In this chapter, we will review prominent architectural design patterns and apply them to our Candy Store project. This will make it productive to work with and allow for future refactoring.
By the end of this chapter, you will know how to define and split...