Bonjour,

Je reformule, en essayant d'être plus simple dans ma demande.

J'ai 2 implémentations de dao liées par héritage.

ex : Dao2 extends Dao1
ainsi que leur interface respective liées par héritage elles aussi.

j'ai 2 factory pour instantier ces dao

1ere factory dans une méthode create:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
....
iDao1 = new Dao1<T, K>(.....)
....
2eme factory dans une méthode create
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
...
IDao2= new Dao2<T, K>(.....)
...
dans le main on appelle comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
// instanciation de la classe Dao1
Idao1 dao1;
Ifactory1 factory1;
factory1 = factory1.create(Toto.class, Long.class);
 
// instanciation de la classe Dao2
Idao2 dao2;
Ifactory2 factory2;
factory2 = factory2.create(Toto.class, Long.class);
En fait chaque factory s'occupe d'instancier une implémentation spécifique d'une dao.

Est ce possible d'avoir qu'une seul factory quelques soit le type dao à instancier ?
Comment puis je faire avec du generic ?