我的问题是关于3层架构。
我的项目大致如下,但是让我恼火的是在我插入数据库中的新列后,除了BLL之外,我必须手动更新所有字段。在表示层中,我创建了一个OBJ,并且在DAL中也创建了一个OBJ,在DAL中还有一个SQL查询。我必须手动更新所有这些字段。
如果我按照“正常”的方式做,将所有这些放在表示层中并在一个地方更新所有内容。
我是否正确应用了这种3层架构,使用分层架构有哪些优势?
我的第二个问题是:
在DAL中,我通过_view收集数据。我想知道,对于每个视图,我应该编写另一个BOboj吗?我已经有了一个BOboj类,但它并不包含所有字段。
插入数据时,我必须使用我的BOboj,但在列出数据时,我正在使用视图,在这种情况下,我应该为每个视图创建另一个BOboj_view类还是其他什么?最容易的方法是什么?
例如; 我有20个视图和40个类,每个类都映射到sql server上的每个表,我的视图收集来自不同表(也就是不同对象)的数据。我应该创建20个除了40个代表视图的类以外的类吗?
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; }
}
.......
.......
}
表示层
protected void Add(object sender, DirectEventArgs e)
{
BOboj_BLL bll_= new BOboj_BLL ();
BOboj obj_ = new BOboj
{
Name = Name.Text,
..............
...............
};
bll_.Add(obj_ );
}
谢谢。