parent
9879c44440
commit
a23f785795
@ -1 +1,38 @@
|
||||
Bienvenue sur le Wiki.
|
||||
# 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`.
|
Loading…
Reference in new issue