![Citation](https://forum.developpez.be/images/misc/quote_icon.png)
Envoyé par
ced600
Je n'ai pas compris. En plus pourquoi factoriser des factory ? Ce design pattern ne considère t il pas qu'il y a plusieurs factory ? Alors pourquoi les réduire.
Peut être parce que je mélange conception et développement ![:oops:](https://www.developpez.net/forums/images/smilies/icon_redface.gif)
En fait j'utilise le terme factory pour deux choses :
- Le pattern
- Un type de classe qui s'occupe de la gestion d'une autre classe.
Peut être qu'en utilisant le terme Manager pour le second cas, c'est plus clair ?
En gros :
1 2 3 4 5 6 7 8 9
| Factory (Pattern)
|
|
V
Manager (classe abstraite générique)
|
|
V
ProjectManager (classe finale) = Manager<Project> |
Donc jusque là, c'est plutôt simple. Le problème c'est que mon manager doit en plus hériter d'un widget graphique. Sans héritage multiple le but était de remonter l'héritage au début (donc au niveau du factory) :
1 2 3 4 5 6 7 8 9 10 11 12 13
| widget
|
|
V
Factory (Pattern)
|
|
V
Manager (classe abstraite générique)
|
|
V
ProjectManager (classe finale) = Manager<Project> |
Et bien sur comme différent manager peuvent être représenté différemment, ça commence à devenir drôle ![:cfou:](https://www.developpez.net/forums/images/smilies/sontfous.gif)
![Citation](https://forum.developpez.be/images/misc/quote_icon.png)
Envoyé par
ced600
1 2 3 4 5
| abstract class Factory<G> where G : new()
{
...
instance = new Factory<G>();
... |
Un truc dans le genre devrait mieux marcher.
ça passe en C# ? En vala ce n'est pas possible :
Can't create instance of abstract class `Factory'
ça me parait plutôt logique.
@SaumonAgile : ça ressemble fort à de l'héritage multiple, non ?
Partager