[LGJ1] Factory - Paths

Voir le sujet précédent Voir le sujet suivant Aller en bas

[LGJ1] Factory - Paths

Message  Unifi le Mer 09 Mai 2012, 19:14

Bonjour à tous,

Je viens vers vous pour savoir si lorsque que j’exécute :

Code:
Path path = Paths.get("/home/dupont/monFich");

y-t-il bien un design pattern qui se cache la dessous ? Factory methode ?

Unifi

Nombre de messages : 31
Prénom : Stan
Statut : étudiant
Localisation : GOOIK, Oetingen
Date d'inscription : 21/04/2011

Revenir en haut Aller en bas

Re: [LGJ1] Factory - Paths

Message  mcd le Mer 09 Mai 2012, 21:28

C'est bien la structure d'une "static factory".

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [LGJ1] Factory - Paths

Message  Unifi le Mer 09 Mai 2012, 22:43

Merci d'avoir pris la peine de me répondre mais si je ne me trompe pas de sujet, "en gros" une méthode factory consiste donc a créer un objet et en retourner un nouveau ? Ceci servirait donc a ne pas se soucier quel est la classe a instancier ?

Mais est-ce que chaque méthode créant et retournant un nouvel objet sera une méthode factory ?

Merci d'avance.


Unifi

Nombre de messages : 31
Prénom : Stan
Statut : étudiant
Localisation : GOOIK, Oetingen
Date d'inscription : 21/04/2011

Revenir en haut Aller en bas

Re: [LGJ1] Factory - Paths

Message  mcd le Mer 09 Mai 2012, 22:50

Un pattern désigne une certaine conception; si le code répond à cette conception, il suit le pattern.
Mais je en comprends pas le "a créer un objet et en retourner un nouveau".
L'idée principale est de ne pas appeler explicitement un constructeur pour obtenir une instance d'objet mais d'appeler à la place une méthode statique.
Les motivations sont nombreuses.
- Possibilité de donner un nom plus explicite (pas le choix dans un constructeur)
- Possibilité d'avoir plusieurs méthodes avec les mêmes types de paramètres (et un nom différent; impossible avec un constructeur)
- Possibilité de ne pas réellement créer l'objet mais de retourner une instance précédente (sauvée dans un cache par exemple); utile pour les objets immuables
- Possibilité de retourner une instance d'une classe fille adaptée à la situation
- ...

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [LGJ1] Factory - Paths

Message  Unifi le Jeu 10 Mai 2012, 10:03

Par "a créer un objet et en retourner un nouveau" je voulais dire créer une instance et retourner l'objet en question.



Un grand merci pour m'avoir éclairer.

Unifi

Nombre de messages : 31
Prénom : Stan
Statut : étudiant
Localisation : GOOIK, Oetingen
Date d'inscription : 21/04/2011

Revenir en haut Aller en bas

Re: [LGJ1] Factory - Paths

Message  Unifi le Mar 15 Mai 2012, 17:55

Je me permet de ré-ouvrir ce post car en lisant le détail de la méthode get(...) de la classe Paths (API) je vois cela :

The Path is obtained by invoking the getPath method of the default FileSystem.

Et en allant voir la classe FileSystem (API) on peut donc voir

The getPath method converts a system dependent path string, returning a Path object that may be used to locate and access a file.

Donc si je résume la situation :

Lorsque l'on exécute l'instruction "Path path = Paths.get("/home/dupont/monFich");", la méthode get(...) de la classe Paths fait appel à la méthode getPath(...) de la classe FileSystem pour y retourner un objet Path ?

Unifi

Nombre de messages : 31
Prénom : Stan
Statut : étudiant
Localisation : GOOIK, Oetingen
Date d'inscription : 21/04/2011

Revenir en haut Aller en bas

Re: [LGJ1] Factory - Paths

Message  Contenu sponsorisé Aujourd'hui à 18:52


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum