Bonjour voici un exercice sur lequel je suis bloqué. Pour dire vrai je ne sais par ou commencer, quelqu'un pourrais m'aider a le réaliser ?
L'objectif est de construire un projet qui divise le logiciel en couches.
C'est ce qu'on appelle la séparation des préoccupations.
Quelques fonctionnalités attendues sur la base du diagramme de classe attaqué :
lien de schemat
https://user.oc-static.com/upload/2022/01/03/16412413684787_CleanArchitecture.jpg
https://user.oc-static.com/upload/2022/01/03/16412414185484_clean-architecture-class-diagram-generic.png
https://user.oc-static.com/upload/2022/01/03/16412414944704_system-class-diagram.jpg
Salut !
Si ton projet est très orienté clean architecture, Je te conseille de te renseigner beaucoup sur ce projet.
Certains concepts de la clean architecture ne sont pas implémentable en JS, notament à cause de la structure en Interface. Typescript est nécessaire dasn ce cas
Cependant, si ton projet est de faire un simple système imbriqué, je te conseille de faire une Classe par action, (par exemple une classe par entité, une classe par repository pour query tes entités), et ensuite, tu défini un système de storage dans ton repository qui serait simplement une classe et un stockage non persistant in memory.
Ca donerait un truc du genre :
entities/work-unit.entity.js qui contient la classe WorkUnit, avec en propriétés ses champs, optionnels ou non.
entities/team.entity.js qui contient ta classe Team
repositories/work-uint.repository.js qui contient ta logique de stockage et de récupération des WorkUnit. Ton repo contient :
Tu fais la même chose pour le repository de l'entité Team
Ainsi, chacune des règle que tu implémente dans ton repository est indépendante du DBMS que tu utilise, ou même sans UI. Tu peux dailleurs tester facilement :
Tu instancie un repository, tu ajoute une entité et tu vérifie si elle est bien entrée dans ton stockage non persistant (tableau de WorkUnit)
Voilà, maintenant let's work ;)