From a23f78579561b5ed9edd065b2faedf1fe421dde3 Mon Sep 17 00:00:00 2001 From: Nestisse Date: Sat, 24 Feb 2024 11:57:44 +0100 Subject: [PATCH] Ajout du diagramme de paquetage --- Home.md | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/Home.md b/Home.md index 1f576c2..1688acf 100644 --- a/Home.md +++ b/Home.md @@ -1 +1,38 @@ -Bienvenue sur le Wiki. \ No newline at end of file +# Présentation de l'API +## Diagramme de paquetage +```plantuml +@startuml +package Entities{} +package DbContextLib{} +package StubbedContextLib{} +package Model2Entities{ + class DbService +} +package Dto{} +package Model{} +package Shared{ + interface IDataService +} +package API{ + class DbDataManager +} + +DbContextLib ..> Entities +StubbedContextLib ..> DbContextLib +Model2Entities ..> DbContextLib +Model2Entities ..> Dto +Model2Entities ..> Model +Model2Entities ..> Shared +API ..> Shared + +DbDataManager ..|> IDataService +DbService ..|> IDataService +@enduml +``` + +**Explications :** +Le service `IDataService` va déclarer toutes les méthodes qui seront appelées par l'API. C'est à dire que toutes les requêtes que le client pourra faire seront dans le IDataService. +`DbService` et `DbDataManager` vont implémenter le même service. +DbDataManager va appeler les méthodes de DbService car nous voulons exposer à l'utilisateur seulement les classes du Model. +DbService va s'occuper des mêmes méthodes mais en gérant le passage de Model vers Entities via des Dto. +De cette façon, l'API et les Entities sont indépendantes et nous sommes ouverts à `l'extension`. \ No newline at end of file