2010-11-19 5 views
1

J'ai besoin de créer différentes commandes et de les passer en tant qu'arguments à un autre programme.Meilleur modèle de conception pour ce numéro

Les commandes partagent des informations et un format mais diffèrent par le nombre d'arguments.

Par exemple, pour une opération CRUD, je pourrais générer la chaîne de commande suivante:

"create""host_ip""database""user_id""profile""personal_data1""personal_data2""personal_datan" 
"retrive""host_ip""database""user_id" 
"update""host_ip""database""user_id""personal_data1""personal_data2""personal_datan" 
"delete""host_ip""database""user_id" 

Je crois qu'il ya des moyens plus efficaces de le faire & en partageant sur ce site incroyable, je pourrais faire mieux emploi.

+1

En relation avec une question antérieure: http://stackoverflow.com/questions/4221444/passing-arguments-form-java-program-to-bash-script-that-call-another-java-program –

+2

Utilisez-vous type de cadres? Consultez Spring Support JDBC Support: http://static.springsource.org/spring/docs/current/spring-framework-reference/html/jdbc.html – Griff

Répondre

5

Peut-être trop évident, mais avez-vous pensé à la programmation en orienté objet-Command Pattern?

, le motif de commande est un modèle de conception dans lequel un objet est utilisé pour représenter et encapsuler toutes les informations nécessaire pour appeler une méthode à une heure ultérieure . Cette information inclut le nom de la méthode , l'objet qui possède la méthode et les valeurs des paramètres de la méthode . Trois termes toujours associés au modèle de commande sont client, invocateur et destinataire. Le client instancie l'objet de commande et fournit les informations requises pour appeler la méthode ultérieurement. L'appelant décide quand la méthode doit être appelée. Le destinataire est une instance de la classe qui contient le code de la méthode. Utilisation de la commande objets facilite la construction composants généraux qui doivent délégué, séquence ou exécuter la méthode appelle à un moment de leur choix sans avoir besoin de connaître le propriétaire de la méthode ou les paramètres de la méthode.

1

On dirait que vous avez besoin d'une classe Builder qui peut générer des commandes d'application. Si des objets sont utilisés entre toutes les méthodes de construction, envoyez-les via le constructeur du générateur. Si vous voulez créer plus d'abstraction, vous pouvez toujours retourner un objet qui sait simplement comment exécuter cette commande à la demande.

Questions connexes