Bloc, plus qu'une library de gestion d'etat, un Architectural pattern.

Bloc, plus qu'une library de gestion d'etat, un Architectural pattern.

Dans l'écosysteme Flutter, bloc est une library qui permet de gérer l'état de notre application, mais Bloc est en faite un architetural pattern qui peut etre implementer dans d'autres langages, son fonctionnement peux etre resume dans le schema ci-après:

bloc architectural pattern

Comme on peut l'observer sur le schema ci-dessus, il consiste en la division de notre application en 3 couches principales, en partant de la couche la plus eloignée de l'utilisateur, on a:

  1. Data Layer (La couche de données)

Cette couche a la responsabilité de récupérer et de traiter les données provenant d'une ou de plusieurs sources. Les sources peuvent etre une base de donnée distante a travers une API, une base de données locale ou meme encore un fichier. Pour le faire, la couche de données est subdivisée en 3 autres sous-couches:

No alt text provided for this image

  • Models

Généralement, c'est la premiere couche que l'on attaque lorsque l'on a en quelque sorte fait un overview de notre application, et qu'il faut commencer a coder. Pour etre plus claire, un Model représente la "Forme" des données avec laquelle notre application travaillera. Par exemple, si notre application recois une liste d'utilisateurs de la source de données, on pourra par exemple créer une classe User, qui aura les attributs recus de la source de données (nom, prenom, age, etc).

No alt text provided for this image

  • Data providers

C'est une sorte d'API a l'interieur de notre application, elle communique directement avec les sources de données de l'application. C'est ici que s'effectue tous nos requetes http tels que GET,POST,PUT etc. les types de retours des fonctions dans cette couche sont les données brutes, elles ne sont pas encore parseés sous forme de model.

  • Repositories

On peut dire sans se tromper que le repository est une sorte d'aggrégateur des possibles multiples sources de données de notre application. C'est ici que les données brutes seront transformées en model, elle communique directement avec la couche metier (Bloc).

Nous avons ainsi parcouru la couche data en profondeur, rendez-vous au prochain article ou nous allons parler des couches Bloc et Presentation.




Identifiez-vous pour afficher ou ajouter un commentaire

Autres pages consultées

Explorer les sujets