Vous êtes sur la page 1sur 13

BONNES

PRATIQUES DE
DÉVELOPPEMENT
WORKSHOP SOKODÉ
AGBAVON Kokou Bienvenu
Développeur Fullstack | Flutter Enthusiast

bienvenuelisis bienvenu-agbavon https://theresilient.dev


PROGRAMME

1 2 3

Architecture Principes Cas pratique


Comment architecturer Quelques principes de Implémentation de
son projet Flutter ? développement quelques bonnes
applicables en Flutter. pratiques dans un projet.
01 - Organisation des dossiers & Architecture logicielle

Architecture logicielle Organisation des dossiers

La manière dont les différents


L’agencement de vos dossiers
composants/couches de votre
dans votre code source.
application communiquent.

L’organisation des dossiers est fonction de votre architecture logicielle.


Architecture logicielle de votre application

Suivant la complexité de votre application, on peut distinguer plus ou moins


de couches :

● Couche de présentation : les écrans, et les widgets de votre application.

● Couche applicative : services auxquelles font appel votre application.

● Couche métier : les modèles représentant les entités de votre


application.

● Couche de données : sources de données de votre application.

● …
Organisation des dossiers de votre application

Orienté Couches Orienté Fonctionnalités

● Votre application est organisé par ● Votre application est organisé par
couches applicatives. fonctionnalités.

● Dans chaque couche, tous les ● Dans chaque fonctionnalité, tous


fichiers relatifs à une les fichiers relatifs à une couche
fonctionnalité sont regroupés sont regroupés dans un dossier
dans un dossier portant le nom portant le nom de la couche.
de la fonctionnalité.
Organisation des dossiers de votre application
Orienté Couches Orienté Fonctionnalités
02 - Quelques principes de développement en Flutter 1/3

Principe : Singleton Application


● Déclarer un constructeur privé.
Description : S’assurer
● Créer une méthode factory qui
qu’une classe ne possède retourne lorsqu’elle existe une
qu’une seule instance et instance privée de l’objet.
avoir un accès direct à cette
● Lorsqu’elle n’existe pas, la
instance. méthode initialise l’objet et
retourne l’instance.
02 - Quelques principes de développement en Flutter 2/3

Principe : Repository Application


Description : Fournir une ● Créer une interface avec les
abstraction d’une donnée, méthodes CRUD.

qui pourra être implémenté ● Pour chaque source de donnée


différemment suivant les créer une classe concrète
sources de données et implémentant ces méthodes.

l’environnement (debug, ● Mettre en place de l’injection de


release). dépendances pour faciliter le test
des différentes sources.
02 - Quelques principes de développement en Flutter 3/3
Principe : Injection de Application
Dépendances ● Choisir un package de gestion de
dépendances (get_it, riverpod,
ioc_container, …)
Description : Permet de gérer
● Créer une interface représentant le
efficacement et surtout de comportement de votre dépendance,
pouvoir substituer à la volée les puis implémenter une classe concrète.
dépendances entres les couches ● Enregistrer vos dépendances à
/ classes de votre application. l’initialisation de l’application.

● Récupérer votre dépendance aux travers


des méthodes fourni par le package.
Codelab

Implémentation des principes de


développement vues dans notre
application KOFFAVOR.

Cas pratique : Implémentons deux


sources de données (Local &
SQLite) pour notre liste de faveurs.
RESSOURCES

● Top Flutter Dependency Injection packages

● SOLID principles in Dart

● Flutter Architecture Samples (fluttersamples.com)


Merci
The Resilient Dev

Bienvenu Kokou AGBAVON - Ingénieur full


stack - Cognitive Factory | LinkedIn

Vous aimerez peut-être aussi