Design Patterns in Flutter
Design Patterns vs Software Architecture
Software Architecture
Software architecture is, simply, the organization of a system. This organization includes all components, how they interact with each other, the environment in which they operate, and the principles used to design the software. In many cases, it can also include the evolution of the software into the future.
Going through this definition, we can find three important aspects, namely:
领英推荐
Design Pattern
Design Pattern could be defined as a common repeatable solution to recurring problems in software design. Design patterns can not be related to a finished design which will be directly used in code but it could be understood as a description or template for how to solve any common problem that may occur in many situations.
Going through this definition, we find that:
After going through the definition of each term, we realize that they can be differentiated on the following basis:
With this being explained, we will next look at the popular design patterns for Flutter, namely?Model-View-Controller (MVC),?Model-View-Presenter (MVP)?and?Model-View-ViewModel (MVVM).