BLL, DAL, OBJ和三层架构

本文关键字:三层 DAL OBJ BLL | 更新日期: 2023-09-27 18:16:55

我的问题是关于三层架构的。

我的项目是简单的类似下面的东西,但是什么让我恼火的是我插入一个新的列在我的数据库后,我必须更新除了BLL的所有字段。在表示层,我创建了一个OBJ以及在DAL内部加上在DAL内部,有一个SQL查询。我必须手动更新所有这些字段。

如果我用"正常"的方式,我把所有这些放在展示层中,并在一个地方更新。

我是否正确地应用了这个三层架构?使用这个分层架构的优势是什么?

第二个问题是:

在DAL中,我通过_view收集数据。我想知道的是,我是否应该为每个视图再写一个BOboj ??我已经有一个BOboj类,但它不包含所有字段。

插入数据时,我必须使用我的BOboj_view,然而,当列出数据时,我使用视图,在这种情况下,我应该为每个视图或其他东西创建另一个BOboj_view类吗?最简单的方法是什么?

例如

;我有20个视图和40个类,映射到sql server上的每个表,我的视图收集不同表的数据(这意味着不同的对象)。除了40个代表视图的类之外,我应该再创建20个吗?

OBJ

class BOboj {
        private int _PId;
        private string _Name;
        .......
        .......

}
木豆

BOboj_DAL {
        public bool Add(BOboj obj)
        {
            using (SqlConnection con = Connect.connect)
            {
                string sql = "insert into Persons (Id,Name,
                 .......
                 .......
}

洗液

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层

  protected void Add(object sender, DirectEventArgs e)
        {
            BOboj_BLL bll_= new BOboj_BLL ();
            BOboj  obj_ = new BOboj 
            {
                Name = Name.Text,
                ..............
                ...............
            };
            bll_.Add(obj_ );
}

谢谢。

BLL, DAL, OBJ和三层架构

  1. DA对象应该以某种方式表示您的数据库模式,并且应该严格绑定到database活动。

  2. 业务层这是您应该使用特定于您的项目逻辑操作数据的地方。您的业务对象并不总是与DA对象相同(请想象DA对象具有两个属性名称和姓氏),但是由于某些原因,您的BO对象只有一个属性姓氏,因为名称从未在逻辑中使用。

  3. 当企业改变主意,他们也想要操纵name时,你必须只在这一层添加它)。
  4. 表示层对象应该严格绑定到视图。不应该有任何逻辑。这些对象应该仅用于显示活动。

当你试图保持这些规则代码时,它不仅对你来说更清晰,更容易维护,对你的团队成员来说更是如此。扩展分隔良好的代码更容易。

还请记住,在某些情况下,例如在使用web服务的项目中,可以使用面向服务的对象实现第四层。

From MSDN Article -

n层/3层架构风格的主要优点是:

    <
  • 可维护性/strong>。由于每个层都独立于其他层,因此可以在不影响系统的情况下进行更新或更改
  • 。因为层是基于层的部署,所以扩展应用程序相当简单。
  • 。由于每个层都可以独立管理或扩展,因此增加了灵活性。
  • 。应用程序可以利用模块化体系结构,使用易于扩展的组件来启用系统可用性。

你有紧密耦合的层。尽量使它们松耦合。

首先,以下visual studio解决方案模板可能会对您有所帮助-

分层架构解决方案指南2010