2012-11-03 1 views
0

Je développe une application en utilisant le modèle de commande. J'ai deux types d'opérations dans mon programme: 1. Les opérations de longue durée (copier/supprimer des fichiers), qui doivent être exécutés de façon asynchrone 2. Les opérations simples (panneaux de rafraîchissement)2 type de commande dans le modèle de commande

Ma question est: Puis-je mettre en œuvre deux types des commandes dans ce modèle (AsyncCmd et SimpleCmd)? Et avant d'exécuter dans le type de commande de contrôle commande Gestionnaire:

public void Execute() 
    { 
    if(cmd is AsyncCmd) 
     { 
     RunAsyncOperation(); 
     } 
    else if(cmd is SimpleCmd) 
     { 
     RunOperation(); 
     } 
    } 

Répondre

2

Vous pourriez, mais en utilisant si d'autre pour définir le type d'opération défaites dans le but de la commande boniment. L'asynchrone et simple (je suppose synchrone) devrait être des commandes distinctes héritant chacune d'ICommand (qui a une méthode Execute()). Ces commandes doivent être créées à l'aide d'usines pouvant traiter des contextes spécifiques à une commande, par ex. Tout ce que vous avez à faire pour les opérations asynchrones, etc.