2012-11-01 3 views
0

Je viens de commencer à implémenter le développement d'applications en utilisant une architecture à trois niveaux. Aussi, je suis de bonnes pratiques de codage. Dans l'application, je dois passer une grande quantité de données pour enregistrer (environ 20 paramètres) les détails de l'étudiant. Mais comme le dit la bonne pratique de programmation, "Ne pas passer plus de 5 paramètres dans une fonction, si vous devez passer plus, alors utilisez des objets pour transmettre des données en une seule entité".Passer un grand nombre de paramètres dans une architecture à 3 niveaux dans le projet de site Web asp.net

Comment dois-je passer cette grande quantité de données de la couche de présentation à la DAL?

Répondre

0

Créer une catégorie de biens d'étudiants et d'utiliser son objet comme paramètre comme

[Serializable] 
public class CStudentProps 
{ 
    public String StudentID { get; set; } 
    public String StudentName { get; set; } 
    public String StudentEmailID { get; set; } 
    public String Status { get; set; } 
    ... 
    ... 
} 

et créer une instance de CStudentProps comme celui-ci

CStudentProps student=new CStudentProps() 
student.name=""; 
..... 
..... 

puis appeler la fonction

addStudent(CStudentProps ob); 
+0

oui, j'ai eu l'idée. Et maintenant ça fonctionne bien. J'ai créé une autre couche nommée objet métier (BO) et y définis la classe. J'ai également ajouté la référence de cette classe dans tous les calques et j'ai passé l'objet de classe de la couche d'interface utilisateur au calque DA. Merci beaucoup. Mais j'ai une question en tête. Quelle est l'utilisation de [sérialiser] ici avant la déclaration de classe. Je n'ai pas utilisé cela, mais tout fonctionne bien. Je n'ai aucune idée de sérialiser et je ne l'ai jamais utilisé auparavant. – vivek

+0

La sérialisation est utilisée lorsque vous devez conserver votre collection d'objets pour un usage ultérieur. Il peut y avoir une situation où vous souhaitez conserver votre collection d'étudiant dans l'état d'affichage et après un traitement que vous souhaitez récupérer des valeurs en forme d'état d'affichage. Dans ces situations, vous aurez besoin de l'attribut serialize de la classe. –

+0

Vous pouvez passer par ce lien pour une meilleure compréhension de cela http://stackoverflow.com/questions/5877808/when-should-i-use-serializable-in-c –

Questions connexes