draft: first DESIGN.md
This commit is contained in:
parent
d446f4c446
commit
4d96191d6a
36
DESIGN.md
36
DESIGN.md
@ -9,22 +9,56 @@ Nous vous conseillons d'utiliser le logiciel PlantUML pour générer vos diagram
|
|||||||
|
|
||||||
Décrivez ici le schéma général de votre programme. Quels sont les composants principaux et comment interagissent-ils ?
|
Décrivez ici le schéma général de votre programme. Quels sont les composants principaux et comment interagissent-ils ?
|
||||||
|
|
||||||
|
On a 2 principaux composants :
|
||||||
|
|
||||||
|
* WeatherDataAPI
|
||||||
|
* WeatherDisplay
|
||||||
|
|
||||||
|
WeatherDisplay contient un ensemble d'instances de WeatherDisplay. Chacune de ces instances retournent des données ayant l'interface WeatherData, ce qui permet au WeatherDisplay de les afficher.
|
||||||
|
|
||||||
## Utilisation du polymorphisme
|
## Utilisation du polymorphisme
|
||||||
|
|
||||||
Comment utilisez-vous le polymorphisme dans votre programme ?
|
Comment utilisez-vous le polymorphisme dans votre programme ?
|
||||||
|
|
||||||
## Utilisation de la déléguation
|
Nous utilisons les interfaces suivantes servant à définir les parties publiques de nos Classes :
|
||||||
|
|
||||||
|
* WeatherDataAPI
|
||||||
|
* WeatherDisplay
|
||||||
|
|
||||||
|
## Utilisation de la délégation
|
||||||
|
|
||||||
Comment utilisez-vous la délégation dans votre programme ?
|
Comment utilisez-vous la délégation dans votre programme ?
|
||||||
|
|
||||||
|
Nous avons essayé de mettre en oeuvre un maximum de forme de délégation dans le projet.
|
||||||
|
|
||||||
|
Voici les principales formes de délégations qui se trouvent dans le projet :
|
||||||
|
|
||||||
|
### JSONFetcher
|
||||||
|
|
||||||
|
Les requêtes HTTP(S) et la transformation de la réponse en JSONObject est abstraite grâce à la classe JSONFetcher
|
||||||
|
|
||||||
|
### City
|
||||||
|
|
||||||
|
Nous utilisons une classe City afin de stocker le nom d'une ville, et de faire le lien avec ses coordonnées.
|
||||||
|
|
||||||
|
Cela permet d'abstraire un appel à l'API api-adresse.data.gouv.fr pour obtenir les coordonnées depuis le nom de la ville.
|
||||||
|
|
||||||
## Utilisation de l'héritage
|
## Utilisation de l'héritage
|
||||||
|
|
||||||
Comment utilisez-vous l'héritage dans votre programme ?
|
Comment utilisez-vous l'héritage dans votre programme ?
|
||||||
|
|
||||||
|
Nous avons limité au maximum l'héritage dans le projet et nous sommes concentrés sur des relations de composition.
|
||||||
|
|
||||||
|
Au final, pour permettre un système de cache, les trois classes WeatherAPI, OpenMeteo et OpenWeatherMap héritent d'une classe WeatherDataCachedAPI.
|
||||||
|
|
||||||
## Utilisation de la généricité
|
## Utilisation de la généricité
|
||||||
|
|
||||||
Comment utilisez-vous la généricité dans votre programme ?
|
Comment utilisez-vous la généricité dans votre programme ?
|
||||||
|
|
||||||
|
Nous n'avons pas eu besoin de généricité dans notre programme.
|
||||||
|
|
||||||
## Utilisation des exceptions
|
## Utilisation des exceptions
|
||||||
|
|
||||||
Comment utilisez-vous les exceptions dans votre programme ?
|
Comment utilisez-vous les exceptions dans votre programme ?
|
||||||
|
|
||||||
|
Nous utilisons WeatherFetchingException qui est une Exception qui est envoyée lorsqu'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user