Question

J'ai récemment appris sur les couches d'accès aux données, couches logiques d'entreprise et les couches Présentation, mais j'ai encore quelques petites choses qui ne sont pas tout à fait clair.

Je peux utiliser le DAL et BLL avec la couche de présentation pour obtenir ou informationnels dans une base de données.

Mais je pense aussi sur les événements de contrôle asp, et comment je dois les mettre en œuvre.

Devrais-je, par exemple, essayer de mettre un événement click bouton dans le BLL ou devrais-je laisser juste dans le code aspx derrière fichier?

Et si je les mettre dans le BLL comment pourrais-je aller sur le faire?

Je ne sais pas comment faire un événement appeler une méthode qui est dans le BLL, de sorte que tout conseil serait grandement apprécié.

Était-ce utile?

La solution

Si l'événement doit faire avec le modèle d'affaires, vous devez créer une méthode dans le BLL. Si c'est un type d'événement de l'interface utilisateur, la poignée dans le derrière de code. Ainsi, par exemple, si l'utilisateur clique sur un bouton pour calculer l'expédition, dans appelez votre méthode de l'objet BLL CalculateShipping () gestionnaire d'événements de clic (code derrière) le bouton. Toutefois, si vous avez un bouton qui change la couleur d'arrière-plan de la page (je ne pouvais pas penser à un meilleur exemple), vous traiterez que complètement dans le derrière de code.

Autres conseils

Compte tenu de cette architecture:

  

Présentation -> Business -> Données

Toute couche ne doit connaître et faire des hypothèses sur la couche à sa droite immédiate. Cela signifie que la couche de présentation peut parler à la couche d'affaires et utiliser l'API, mais il ne devrait jamais parler directement à la couche de données. La couche d'entreprise peut utiliser l'API de couche de données, mais il ne doit jamais savoir sur ou faire des hypothèses sur la couche de présentation qui consume. Et, évidemment, la couche de données doit rien savoir sur l'un des autres couches.

Si vous suivez ce principe général, vous constaterez que votre application sera plus simple et plus facile à maintenir.

Pour répondre à votre question si, touche les événements de clic appartiennent à la couche de présentation -. Mettre un bouton événement click dans votre logique métier brouillerait les lignes entre les deux couches et créerait un couplage inutile

Votre code ASPX behind (couche de présentation) pourrait soit avoir une référence directe à votre BLL (résultats dans le couplage) ou vous pouvez utiliser une approche plus axée sur les services. Cela impliquerait la création d'interfaces référencées par votre couche de présentation et mis en œuvre par votre couche d'affaires. Lors de l'initialisation de l'application (par exemple dans votre fichier Global.asax), vous pouvez vous connecter le BLL à votre couche de présentation par injection de dépendance ou d'une autre approche.

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