Question

Je suis à la recherche à la réécriture d'une partie de notre application en C# (actuellement héritage VB6 code).Le module que je suis en train de créer est responsable de l'importation de données à partir d'une variété de systèmes dans notre base de données.Environ 5-6 fois par année, un nouveau client nous demande d'écrire une nouvelle à l'importation pour le système qu'ils utilisent.Actuellement, cela nous oblige à sortir une nouvelle version de notre logiciel pour chaque nouvelle option d'importation de nous ajouter à l'application.

L'un des objectifs de la réécriture est de rendre l'application support des plugins.Chaque nouvelle importation peut devenir une assemblée distincte dont l'application ordinateur hôte reconnaître et permettent à l'utilisateur d'interagir avec.Cela devrait vous simplifier la vie dans une certaine mesure, on peut simplement déposer une nouvelle assemblée dans le répertoire qu'il soit reconnu et utilisé par le principal (accueil) de l'application.

L'un des éléments que je suis en difficulté avec concerne les différences entre les options d'importation actuellement pris en charge.Dans certains cas, nous avons effectivement permettre à l'utilisateur de pointer vers un répertoire et de lire tous les fichiers dans le répertoire dans notre système.Dans d'autres cas, nous leur permettons de point en un seul fichier et importer son contenu.En outre, certaines importations ont une plage de dates de restriction que l'utilisateur s'applique, tandis que d'autres ne le font pas.

Ma question est, comment puis-je concevoir l'application d'une manière qui permet une certaine souplesse entre les importations de nous construire et de soutien, tandis que dans le même temps, la mise en œuvre d'une interface commune qui permettra à l'hôte de l'application de reconnaître facilement les plugins et les options que chacun expose à l'utilisateur?

Était-ce utile?

La solution

Je vous recommande de prendre un coup d'oeil à l'complément Géré Dans le Cadre livré avec .NET 3.5.L' Ajoutez-En équipe a posté quelques échantillons et des outils à Site de CodePlex ainsi..

Autres conseils

.Net 3.5 a le système.Complément de l'espace de noms.

Ce fil a aussi quelques bonnes informations pour les anciennes versions du framework:
http://forums.devshed.com/net-development-87/system-plugin-532149.html

pour la théorie de jeter un oeil à la plugin modèle dans martin fowlers Modèles de l'Architecture des Applications d'Entreprise

pour un exemple intéressant de prendre un coup d'oeil à ce tutoriel: Une Architecture de Plugin à l'aide de C#

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top