Commit d4dea391 authored by sunye's avatar sunye
Browse files

Integrate Romain's remarks

parent a019d77c
......@@ -20,7 +20,7 @@ est particulièrement utile lorsque l'on souhaite construire des objets complexe
Par exemple, supposons que l'on souhaite construire un objet complexe en créant une instance de son _builder_ (monteur),
en appelant les _setters_ (modificateurs) respectifs, et enfin, en appelant la méthode de construction.
Une fois la méthode de construction exécutée, on peut récupérerer l'objet de la classe souhaitée.
Une fois la méthode de construction exécutée, on peut récupérer l'objet de la classe souhaitée.
```java
EmailMessageBuilder builder = new EmailMessageBuilder();
......@@ -76,7 +76,7 @@ Ce style (ou idiome) de programmation, appelé _chainage de méthodes_ a été i
Dans le cas de Java, la logique est similaire: toutes les méthodes de modification (`from`, `to`, etc.) seront spécifiées dans la `Builder` et retourneront une instance de cette classe.
Par exemple, la méthode `from()` sera mise en oeuvre comme suit:
Par exemple, la méthode `from()` sera mise en œuvre comme suit:
```java
public EmailMessageBuilder from(String sender) {
......@@ -85,7 +85,7 @@ public EmailMessageBuilder from(String sender) {
}
```
Quant à la méthode `to()`, sa mise en oeuvre sera semblable à la précédente:
Quant à la méthode `to()`, sa mise en œuvre sera semblable à la précédente:
```java
public EmailMessageBuilder to(String recipient) {
......@@ -170,7 +170,7 @@ Dans cette partie, vous allez appliquer ces notions pour coder une interface flu
=== Préparation
. Effectuez une *divergence* du projet _distanciel_ où vous vous trouvez actuellement.
Pour rappel, il suffit d'aller utiliser le bouton correspondant en faut de la page d'accueil du projet.
Pour rappel, il suffit d'aller utiliser le bouton correspondant en haut de la page d'accueil du projet.
. Configurez votre nouveau projet Gitlab obtenu via la divergence de la manière suivante :
** Dans _"Paramètres → Général"_, allez dans _"Visibility, project features, permissions"_, et mettez _"Project visibility"_ à _"Private"_.
Ainsi, vous devenez le seul utilisateur autorisé à accéder à votre code source.
......@@ -213,11 +213,11 @@ Plus précisément, nous allons nous intéresser à la création d'instances de
=== Implémentation
* Première étape: mettre en oeuvre la classe monteur, appelée `SimpleServiceDescriptionBuilder`:
* Première étape: mettre en œuvre la classe monteur, appelée `SimpleServiceDescriptionBuilder`:
** Cette classe doit contenir exactement les mêmes attributs que la classe `ServiceDescription`.
** Les attributs qui ont une valeur par défaut doivent être initialisés avec cette valeur.
* Deuxième étape: mettre en oeuvre le chaînage d'interfaces:
* Deuxième étape: mettre en œuvre le chaînage d'interfaces:
** Créer une interface par attribut obligatoire, plus une interface de construction: `ServiceNameModifier`,
`ServicePortModifier`, `ServiceTransportModifier`, `ServiceApplicationModifier` et enfin `ServiceDescriptionBuilder`.
** Les 4 premières interfaces doivent spécifier une seule méthode, le modificateur de l'attribut concerné.
......@@ -232,15 +232,15 @@ interface ServiceNameModifier {
** La dernière interface, `ServiceDescriptionBuilder`, doit spécifier la méthode `build()`, dont le type de retour est `ServiceDescription`, ainsi que les modificateurs des attributs optionnels.
* Troisième étape: mettre en oeuvre des interfaces dans la classe `SimpleServiceDescriptionBuilder`:
* Troisième étape: mettre en œuvre des interfaces dans la classe `SimpleServiceDescriptionBuilder`:
** Modifier l'en-tête de la classe monteur pour la faire implémenter les 5 interfaces définies ci-dessous.
** Modifier l'en-tête de la classe monteur pour la faire implémenter les 5 interfaces définies ci-dessus.
** Implémenter chacune des méthodes de modification, sans oublier de retourner l'objet courant.
** Implémenter enfin la méthode `build()` qui doit créer une instance de `ServiceDescription`.
* Quatrième et dernière étape: mettre en oeuvre un test unitaire qui utilise votre API fluide.
* Quatrième et dernière étape: mettre en œuvre un test unitaire qui utilise votre API fluide.
** Pensez à vérifier que l'auto-complétion marche correctement.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment