2010-05-14 29 views
0

J'ai besoin de suggestion pour l'architecture à trois couches que je prévois d'implémenter.Architecture en couches et méthodes statiques

Scénario

Am de travail dans ASP.NET C# 3.5 Environnement. DLHelper: méthodes pour obtenir des données à partir de la base de données. DAL: Contient des méthodes qui collectent les données de la base de données à l'aide des classes DLHelper. La plupart des méthodes de cette couche ne référencent aucun objet de niveau page et peuvent donc être déclarées statiques. BL: Identique à la couche DAL, la plupart des méthodes ne référencent aucun autre objet de niveau page, et peuvent donc être déclarées statiques.

UI couche: selon le scénario ci-dessus l'interface utilisateur appel couche à couche BL est comme

BLClass.Method -> DALClass.Method

Question Je voudrais savoir est cette façon de faire Normaliser il. Selon la discussion avec mon collègue, nous devrions avoir l'objet correspondant de la couche BL/DAL. Mais je suis toujours à la recherche d'une réponse plus convaincante.

+0

Jetez un coup d'œil à la structure ASP.NET MVC (http://www.asp.net/(S(d35rmemuuono1wvm1gsp2n45))/mvc). Je pense que c'est très pertinent dans votre cas. Et, par le vay DAL est déjà Layer :) – Vokinneberg

Répondre

0

Je cherchais la même réponse. C'est «s'il y a une méthode/pratique standard» pour une conception d'application. Ma question avait à voir avec les méthodes statiques sur le BL. Je ne pense pas que je puisse vous donner une réponse directe cependant.

Je peux vous dire que dans mon cas, j'ai évolué et j'ai rendu les méthodes dans certaines classes statiques. Je l'ai fait car il n'y avait pas besoin d'instances (car ils sont strictement définis dans la littérature OOP). Autrement dit, il n'était pas nécessaire de créer des objets qui auraient leur propre état.

"Selon la discussion avec mon collègue, nous devrions avoir l'objet de chaque couche". Si vous voulez dire qu'il y aura un seul objet, je vous invite à reconsidérer. Dans la plupart des cas, il y a plus d'une «collaboration» pour livrer un résultat (avec des exceptions bien sûr).

La «conception axée sur la responsabilité» a été et est vraiment utile pour moi dans de nombreux cas.

+0

Couche pas entière en tant qu'objet, mais l'objet de couche correspondant de l'entité. – BigBoss