2010-07-14 4 views
0

J'ai créé un formulaire Windows .NET qui permet aux utilisateurs d'afficher un document particulier et de le signer.Comment puis-je rendre cette application réutilisable?

Je veux le rendre réutilisable pour de futures applications.

Les défis sont les suivants:

  1. Le texte à signer nécessite des paramètres.
  2. Avant que l'utilisateur ne le signe, le texte n'est qu'une requête - il n'est enregistré nulle part
  3. Lorsque l'utilisateur le signe, le texte qu'il a signé doit être stocké et "gelé". Dans les futures exécutions de la requête, les données peuvent changer
  4. Différents documents peuvent avoir différentes sources de données et différents paramètres. Mais ils doivent tous être sauvegardés dans la même table lorsqu'ils sont signés

Je ne peux penser qu'à créer une nouvelle classe pour chaque document et hériter de la même classe avec la même fonctionnalité de base. Y a-t-il une meilleure manière de faire cela? En fonction d'un paramètre, puis-je charger une source de données et un modèle différents?

+1

Quand vous dites "signé", parlez-vous de cryptographie ou de quelque chose de différent? – robinjam

+0

Les deux, signature réelle de Tablet PC et RSA-PSS. – Zesty

Répondre

1

Convertir la forme en un contrôle, emballé dans son propre assemblage (probablement un Windows Forms Control Library) - de cette façon, il sera réutilisable. Ensuite, conservez autant de code spécifique que vous ne le faites pas dans une bibliothèque de classes distincte (ou bibliothèques); Cela permettra une réutilisation ultérieure - pour une interface utilisateur différente telle qu'une bibliothèque de contrôle personnalisée WPF.

En ce qui concerne la structure du code, MVC (comme l'a souligné Arseny) est définitivement une option. Faites bon usage des interfaces pour faciliter l'intégration.

1

Je pense que vous pouvez choisir MVC model-view -controller ou modèle MVP. Vous pouvez donc garder vos règles (défis) dans la couche Controler. Cela vous permet d'ajouter d'autres vues (fenêtres) au contrôleur existant ou de changer de modèle de données.

http://en.wikipedia.org/wiki/Model -view contrôleur

+0

+1 Merci d'avoir répondu. Je vais attendre au cas où il y aurait d'autres suggestions. – Zesty

Questions connexes