Question

Cela peut sembler une question ridicule puisque je suis assez inexpérimenté dans .NET.

Est-il possible de construire des composants en C #, en utilisant .NET, qui peuvent être réutilisés en ASP.NET. Par exemple, si vous souhaitez porter une application sur le Web.

Si possible, dans quelle mesure sont-ils portables? C'est à dire. l’interface graphique peut-elle être réutilisée dans une certaine mesure? Existe-t-il un format intermédiaire à utiliser en tant que base ou est-il nécessaire d’utiliser des composants C # en tant que fichiers binaires?

Merci.

Modifier:

Merci pour votre contribution! Je connais assez bien les aspects de conception de ce problème, c’est-à-dire comment modéliser des composants pour les réutiliser. Cependant, vous m'avez fait comprendre que la question est vraiment de savoir dans quelle mesure .NET est réutilisable entre ASP et Windows? Peut-on dire que certains packages de composants .NET sont indépendants de l’environnement et que certains sont spécifiques à une plate-forme?

Était-ce utile?

La solution

Absolument. Une classe .NET peut être utilisée dans n’importe quel type d’application .NET. Cela dépend toutefois de la partie de l'application dont vous parlez.

En règle générale, les interfaces utilisateur Windows Forms ne sont PAS réutilisables en tant qu'interfaces utilisateur ASP.NET, car les contraintes de conception sont très différentes (les navigateurs Web ne prennent en charge qu'un petit nombre de contrôles, utilisent souvent une disposition de flux (pas de grille), etc. , les événements sont différents (un bouton de formulaire Web n’est pas identique à un bouton de formulaire Windows, etc.).

Ce que vous pouvez réutiliser facilement, cependant, si vous faites les choses correctement, est la logique métier. Concevez vos classes de manière à ce qu'elles ne sachent rien en interne, qu'il s'agisse d'un formulaire Windows ou d'un formulaire Web (ou d'une application console, d'un service Web, etc.). Autrement dit, les classes doivent être des implémentations pures de votre logique métier. Ensuite, vous pouvez utiliser ces classes dans le contexte de votre choix.

Autres conseils

La réponse courte à votre question est oui: séparez simplement le code que vous souhaitez partager entre les deux vues en une classe indépendante de l'interface, de préférence dans un assemblage séparé, et incluez cet assemblage.

La réponse longue est plus compliquée - la possibilité de le faire varie d’une application à l’autre. Vous serez en mesure de séparer moins de code pour les applications à interface utilisateur intensive qui ne font pas beaucoup en arrière-plan (comme, par exemple, une sorte de jeu graphique), plutôt que pour une application d'interface utilisateur très simple qui fait beaucoup de retard. les scènes (par exemple, une interface utilisateur composée d’un seul bouton qui lance ensuite un processus complexe de manipulation de données).

En fin de compte, .NET vous permet de le faire. Votre capacité réelle à faire cela dépendra beaucoup de vos propres capacités de conception et de vos exigences particulières. Il y a beaucoup d'écrits disponibles sur ce sujet - je suggère de commencer par jeter un coup d'œil sur Design Patterns (bien que le livre original écrive des exemples en C ++, je pense que quelqu'un a déjà fait un livre avec des exemples en C #. Je ne peux toutefois pas en parler. la qualité de celui-ci.)

Je ne l'ai jamais fait auparavant, mais je suppose que vous pouvez placer le code commun sur une classe séparée. L’interface utilisateur devra être dupliquée car Windows Forms et asp.net ont des approches de programmation complètement différentes.

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