Bonjour tout le monde
apres uen docuementation sur le pattern factory, j'ai pu réaliser cet exemple qui l'implemente :
Vehicule :
Moto :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package dp.factory.exemple; public class Vehicule { private String marque; private int nbrRoues; public String getMarque() { return marque; } public void setMarque(String marque) { this.marque = marque; } public int getNbrRoues() { return nbrRoues; } public void setNbrRoues(int nbrRoues) { this.nbrRoues = nbrRoues; } }
Voiture :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 package dp.factory.exemple; public class Moto extends Vehicule{ }
Ma Factory :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 package dp.factory.exemple; public class Voiture extends Vehicule{ }
classe de test :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package dp.factory.exemple; public class VehiculeFactory { public static Vehicule getVehicule(String type){ Vehicule v = null; if("moto".equals(type)){ v = new Moto(); }else if("voiture".equals(type)){ v = new Voiture(); } return v; } }
Ce que je vois jusquàmaintenant comme avantage de ce pattern est la disparition des 'new' puisque la creation se fait dans la factory, mais les choses sont encore pas claires à propos l'interet de ce pattern. Pouvez vous m'aidez ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 package dp.factory.exemple; public class TestFactory { public static void main(String[] args) { Moto moto = (Moto)VehiculeFactory.getVehicule("moto"); moto.setMarque("Yamaha"); } }
ET merci d'avance.
Partager