9
votes

Écrire réutilisable C # code pour les sites Web ASP.NET

J'ai appris c # ces derniers jours pour une utilisation avec ASP.NET pour créer des sites Web.

Je suis très nouveau à C # mais j'ai réfléchi à la façon dont je devrais aller écrire mon code pour le faire comme réutilisable que possible. p>

Par exemple rapide, disons que je voulais créer un morceau de code pour vérifier les détails de connexion aux utilisateurs que je pouvais simplement tomber dans un autre site à tout moment et le faire fonctionner avec le Données qu'il reçoit. P>

Se souvenir que je ne sais pas comment je devrais mettre mon code pour le faire, c'est l'idée que j'ai proposée (je le garderai court avec une sorte de pseudo code): p>

Je crée une classe: p> xxx pré>

alors je disposerais d'une page ASPX où le formulaire de connexion irait, par exemple: P> xxx pré>

et le code derrière le fichier ressemblerait à ceci: p>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Module {
    public partial class _default : System.Web.UI.Page {
        protected void Page_Load(object sender, EventArgs e) {

        }

        protected void check_login(object sender, EventArgs e) {
            if(Login.check_login(usernameInput.Text, passwordInput.Text)) {
                Response.Redirect("some other place");
            }
        }
    }
}
  • Y a-t-il un meilleur moyen de créer du code réutilisable? LI>
  • Comment concevez-vous votre code réutilisable? LI> ul>

    Je suis sûr qu'il doit y avoir une meilleure façon pour moi de le faire, mais je ne peux tout simplement pas y penser seul. P> P>


0 commentaires

4 Réponses :


13
votes

En ce qui concerne les formes Web et la réutilisation ASP.NET, il faut dire que la question la plus courante réside avec la mise à l'origine de la logique dans les fichiers du code-derrière. Les programmeurs, en particulier ceux Nouveau sur ASP.NET WebForms, ont tendance à y mettre des parties de la logique commerciale et même du code d'accès à la base de données. Après un certain temps, il transforme leur application en un blurmbe géant à entretenir.

Extrait de votre logique d'entreprise dans une couche séparée. Accéder à partir du code-derrière. Il suffit d'accéder, pas de la mise en œuvre directement. Éloignez-vous de la base de données. Seule la couche d'entreprise devrait être autorisée à y parler.

Vous pouvez même mettre votre logique commerciale et vos entités modèles de domaine dans une bibliothèque de classe distincte. Alors c'est comme ça que ça devient réutilisable.

C'est les premières considérations simples avant de faire sale vos mains avec un codage sérieux.

Les techniques de réutilisabilité de .net tournent principalement autour de l'étagère du code commun dans les bibliothèques de classe à utiliser par une variété d'applications.

La réutilisabilité appliquée aux applications Web (ASP.NET) est généralement obtenue avec UserControls (* .ascx) pour la pièce de présentation et exposant des parties de l'application via Web Services.

On pourrait également mentionner la logique commerciale dans la couche de base de données (en le mettant dans des procédures stockées), mais celle-ci est couramment perçue comme controversée ces jours-ci.


1 commentaires

Je suis d'accord! Le développement de 3 niveaux ou de N-TIERED fait beaucoup d'astuce. Le moyen facile de commencer à placer des "modules" à l'intérieur du "App_code", puis appelez les fonctions de là. Ne gardez pas la validation, etc. dans le code-derrière. Seules les «fonctions d'appel» de la page-CodeBeHind.



4
votes

Peut-être que la connexion est un mauvais exemple, car il existe ASP.NET intégré façons de faire cela , mais, en général, vous êtes sur la bonne voie: Ne mettez pas la logique commerciale que vous voudrez peut-être réutiliser dans la page elle-même, mais plutôt dans certaines classes - cela a le supplément Avantage de la structuration de votre code de manière plus logique: l'interface utilisateur Les éléments liés à l'interface utilisateur sont dans la page ASPX (et c'est CodeBeHind), la logique du programme réside dans des classes séparées. Finalement, vous voudrez déplacer certaines de ces classes dans un projet de bibliothèque distincte, qui peut être liée par de nombreuses applications Web différentes.

Si vous souhaitez réutiliser des éléments d'interface utilisateur ASP.NET, vous avez la possibilité d'écrire contrôle ASP.NET Server Controls , que vous avez mis dans votre bibliothèque et utilisez-la dans Vos pages ASP.NET comme ceci: xxx


0 commentaires

1
votes

Le meilleur moyen que j'ai trouvé pour réutiliser des pages WebForms et le code est d'utiliser le motif MVP. Nous avons mis en œuvre MVP pour certaines de nos pages sur notre ancien site Web, car décrit ici , et quand nous avons déménagé ASP.NET MVC, nous avons trouvé que le processus sera vraiment simple.


1 commentaires

Je dois noter que MVP aide simplement dans ce que @Developer Art recommande: Séparez votre logique commerciale du code derrière le code.



0
votes

Il existe une solution simple pour coder la réutilisation de ASP.NET.

Après la recherche, j'ai trouvé deux solutions:

  • Travailler avec des annuaires virtuels, ou
  • déplacez tout le contenu dans le répertoire racine.

    Vérification des deux solutions, identifié ce qui doit vraiment être fait: il suffit de définir le dossier bin de notre projet pour cibler le répertoire racine ( C: \ inetpub \ wwwroot \ bin ).

    Voici un exemple simple dans le fichier ci-joint: libexemplo.zip .

    Actuellement, j'utilise SharpDEvelop qui n'a pas besoin d'installations ou de configurations longues. < / p>

    Cordialement,

    Reinaldo Fernando


0 commentaires