Je lis Head First Design Pattern et au chapitre de l'usine. Je pense à changer mon code de travail pour l'implémenter.Modèle de conception d'usine étendre
D'abord, je crée IAction et ActionFactory avec GetAction, à partir de IAction, je crée UploadDatabase, CopyFile, UploadSharepoint, etc. Il est en DLL et peut être appelé depuis un exe. C'est facile et fait.
Ensuite, je prévois de créer AutoCADAction à partir de IAction qui incluent des actions telles que Imprimer, Script, etc. Ces actions ne peuvent être exécutées que dans AutoCAD.
Maintenant, j'aime créer AutoCADActionFactory avec override GetAction, il créera aussi ActionFactory et AutoCADAction. Maintenant j'ai perdu.
Voici l'exemple de code:
Dans ActionFactory.GetAction
public IAction GetAction(ActionType myActionType)
{
switch (myActionType)
{
case ActionType.UploadDatabase:
return new UploadDatabase();
case ActionType.CopyFile:
return new CopyFile();
case ActionType.UploadSharepoint:
return new UploadSharepoint();
}
}
Comment je code mon AutoCADActionFactory.GetAction, est-ce correct?
public AutoCADAction GetAction(ActionType myActionType)
{
return Base.GetAction;
switch (myActionType)
{
case ActionType.Print:
return new Print();
case ActionType.Script:
return new Script();
...
}
}
Merci,
"Maintenant j'ai perdu"? Comment? S'il vous plaît formater votre code correctement et s'il vous plaît détailler comment vous êtes perdu. Qu'est-ce qui t'arrête? Que devez-vous savoir de plus? –