Introduction: em> strong>
Maintenant, je sais que cette question pourrait être très large et il serait trop difficile de répondre sans que je demande quelque chose de spécifique. Donc, tout ce que je demande est juste une certaine direction ou une brève explication de haut niveau d'une conception, ou peut-être déjà un cadre qui pourrait m'aider à commencer à commencer ... Je ne suis pas sûr .. Je n'ai jamais conçu de plugin Architecture Avant, alors peut-être qu'il y a une ressource / exemple que vous pourriez me diriger sur le Web qui m'aiderait à apprendre pour que je puisse trouver ma propre solution. P>
détails de ma question: em> strong>
Mon intention est que j'aimerais créer une architecture plug-in pour un nouveau projet d'animal de compagnie que je construit dans ASP.NET MVC. P>
Je voudrais le concevoir de manière à ce qu'il ait une sorte de capacité de plug-in pour tous, ou au moins la plupart des composants de l'application. p>
La raison pour laquelle je voudrais faire cela, c'est afin que je puisse être capable de faire des déploiements avec une durée d'accès presque nulle. L'idée est que lorsque je veux déployer la dernière version, je déposerais dans les nouvelles DLL dans un dossier spécifique et que l'application chargerait la nouvelle prise et que c'est. P>
Pour exapmle, disons que j'ajoute une nouvelle fonctionnalité "Contacts" à mon application Web où les utilisateurs peuvent rechercher, ajouter et supprimer des contacts. J'aimerais pouvoir déployer cela à titre de plugins. P>
est quelque chose comme cela même possible pour les applications Web? Ou je rêvais juste? P>
3 Réponses :
C'est définitivement possible. p>
Vous devrez définir une interface assez complète qui représente tout ce que vos plugins devront faire. Vous devez l'approcher en différenciant ce qui est "Core" à votre application et où les points d'extensibilité sont. Par exemple, où les plugins seront-ils accessibles? Sont-ils des onglets sur une page ou des liens dans une barre latérale? Quelles propriétés ont-elles besoin de chaque plugin afin de s'intégrer dans le conteneur de plug-in? P>
En règle générale, les plugins sont énumérés par la réflexion en recherchant des assemblages qui implémentent l'interface de plug-in. P>
Juste pour encouragement, nous l'avons fait avec un produit d'entreprise fournissant un cadre générique pour les interfaces "Gestion" pour les sites Web. Les développeurs ont juste besoin de déposer dans une DLL de plug-in qui construit des pages de propriété spécifiques et apparaissent dans le menu d'interface de gestion, toute la navigation est prise en charge, et leur DLL a simplement à vous soucier de leur propre logique de domaine. P>
Il y a toujours la DLL-Way où vous définissez des interfaces que les plugins suivent. P>
Mais pour l'application Web, en particulier ASP.NET MVC, vous avez besoin d'un contrôleur, d'une vue et ainsi. Ceux-ci peuvent probablement être inclus dans un fichier DLL à l'aide d'une usine de contrôleur préparée pour gérer cela, mais il serait difficile de développer ces plugins. Quelques inspirations pour Code (ou dB) Contenu intégré: Haacked à ce sujet p>
ASP.NET MVC La version 2 prendra en charge les zones où vous pouvez mettre certaines parties de l'application dans différents dossiers de l'application. De cette façon, vous pouvez simplement télécharger certains fichiers et l'application reconnaîtra ces nouveaux fichiers. En savoir plus Il blog Haacked P >
PS: J'ai trouvé une autre personne ici sur S.O. Demander la même question que moi: architecture plug-in pour asp.net mvc Cela pourrait être utile pour Quelqu'un recherche le même sujet. P>
J'ai réfléchi à la même chose et j'ai plusieurs idées. Contactez-moi directement à Parasous.Thoué [at] gmail