BLL, DAL, OBJ et de la couche 3 de l'architecture
Ma question est à propos de la couche 3 de l'architecture.
Mon projet est brièvement quelque chose comme ci-dessous, cependant, ce qui m'a ennuyé c'est après que j'insérer une nouvelle colonne à l'intérieur de ma base de données, j'ai de mise à jour tous les champs sauf pour la BLL. Dans la couche de présentation, j'ai créé un OBJ et à l'intérieur de la DAL, plus à l'intérieur de la DAL, il y a une requête SQL. - Je mettre à jour tous les champs manuellement.
Si je le fais "normal", façon, j'ai mis tous ceux à l'intérieur de la couche de présentation et de mise à jour en un seul endroit.
Suis-je appliquer cette couche de 3 architecture correctement et quels sont les avantages à utiliser cette architecture en couches?
Ma deuxième question est :
À l'intérieur de la DAL, je collecte des données par le biais d'_view. Ce que je me demande, dois-je écrire une autre BOboj pour chaque vue??J'ai déjà un BOboj classe, mais il ne contient pas tous les champs.
Lors de l'insertion de données, je dois utiliser mon BOboj,cependant, lorsque la liste de données,je suis à l'aide de points de vue,dans ce cas, dois-je créer un autre BOboj_view de classe pour tous les points de vue ou d'une autre quelque chose ??
qu'est-ce que le easyies façon de le faire?
par exemple;
J'ai 20 vues et 40 de la classe qui mappés à toutes les tables sql server ,de Mon point de vue de recueillir les données de différentes tables(ce qui signifie que les différents objets).dois-je crée des 20 plus de classe à l'exception des 40 qui représentent le point de vue ?
OBJ
class BOboj {
private int _PId;
private string _Name;
.......
.......
}
DAL
BOboj_DAL {
public bool Add(BOboj obj)
{
using (SqlConnection con = Connect.connect)
{
string sql = "insert into Persons (Id,Name,
.......
.......
}
BBL
BOboj_BLL {
.......
.......
public bool Add(BOboj_DAL obj)
{
BOboj_DAL bb_dal = new BOboj_DAL();
try
{
return bb_dal.Ekle(obj);
}
catch (Exception)
{
throw;
}
finally { bb_dal = null; }
}
.......
.......
}
Presantaon Couche
protected void Add(object sender, DirectEventArgs e)
{
BOboj_BLL bll_= new BOboj_BLL ();
BOboj obj_ = new BOboj
{
Name = Name.Text,
..............
...............
};
bll_.Add(obj_ );
}
Merci.
oui, c'est la mise en œuvre correcte. L'avantage de cette approche est que vous pouvez attraper les exceptions à chaque niveau gracieusement
thank u pour edditing.
OriginalL'auteur | 2013-06-05
Vous devez vous connecter pour publier un commentaire.
DA Objets doivent représenter votre schéma de base de données d'une certaine façon et doit être strictement lié à l'activité de Base de données.
De la couche de gestion c'est l'endroit où vous devez manipuler des données à l'aide spécifiques à votre logique de projet. Votre objet de l'entreprise n'est pas toujours le même que DA Objet (veuillez imaginer DA l'objet avec les deux propriétés Prénom et Nom de famille, mais à cause de certaines raisons, votre BO objet n'a qu'une seule propriété Nom de famille parce que le Prénom n'est jamais utilisé dans la logique. Quand les affaires de changer leur esprit et qu'ils veulent manipuler avec Prénom trop, il faut ajouter que dans cette couche).
Couche de présentation des objets doit être strictement lié à la vue. Il ne devrait pas y avoir de logique. Ces objets doivent être utilisés uniquement pour l'affichage des activités.
Lorsque vous essayez de garder ce code de règles, c'est beaucoup plus clair et facile à entretenir, non seulement pour vous mais surtout pour vos coéquipiers. Il est plus facile de s'étendre bien séparés code.
Rappelez-vous aussi que, dans certains cas, par exemple dans des projets qui sont à l'aide de services web peuvent être mis en œuvre quatrième couche avec le Service Orienté Objets.
Je suis confus au sujet de votre deuxième question du lien que vous avez fourni. Ne pas comprendre exactement ce que vous devez faire.
par exemple ,au moyen de la vue,je collectionne le personnel de l'information de rejoindre les différentes tables,cependant j'ai aussi une table personne et une personne de la classe,qui différent de ce que la vue recueillis. dois-je créer une nouvelle classe pour cette fin
Je unerstand que, par exemple, que vous avez vue de base de données PersonalInformation qui revient pour vous de données, par exemple, dans la table Personne et DetailedInformation. Dans ce cas, pour moi, il est bon d'avoir trois classes Personne, DetailedInformation et PersonInformation qui ont instance de la Personne et DetailedInformation classe quelque chose comme public class PersonInformation {public Personne {get;set;} public DetailedInformation DetailedInfo {get;set;}}
OriginalL'auteur Piotr Czarnecki
De MSDN Article -
Vous avez serré couplé couches. Essayez de perdre couplé.
Pour commencer, la suite de solutions de visual studio modèle peut vous aider -
Couches De L'Architecture De La Solution D'Orientation 2010
vous ne pouvez pas changer votre DAL, sans apporter de modifications à BLL. Votre DAL est également étroitement associé aux sous-jacent type de base de données MS SQL.
Essayez d'utiliser des Interfaces (qu'est-ce que les contrats dans le monde théorique) pour interagir avec le DAL.
donnez-moi un moment, je vais le poster dans la réponse plus en détail
u pourrait me donner un détail de l'échantillon de la façon de mettre en œuvre ou d'un lien.merci
OriginalL'auteur Parag Meshram