三层架构之再学习

来源:互联网 发布:sql查询重复数据数量 编辑:程序博客网 时间:2024/05/18 17:25

【前言】
三层学习是为七层奠定基础的重要一环节,自己之前在学习三层的时候,只是看了王继彬老师的视频,然后边看边跟着老师的脚步敲代码,实现老师所说的三层登录。当时敲完之后也没有好好理清各个层之间的关系,导致现在敲七层的时候无从下手。

总之一句话:“欠下的总是要还的”。明白了脚踏实地的走好自己所走的每一步,不要急于求成。
Ok,Nonsense not much said, let’s get started。


【内容-who-what-why】
三层都包含哪三层呢? ——三层中分别有:UI(显示层)、BLL(业务逻辑层)、DAL(数据访问层)。

三层都是做什么用的呢?为什么要有用三层呢?

三层结构从逻辑上划分VS物理上划分:
物理:显示层/业务层/数据层
逻辑:UI/BLL/+DAL/DB
严格来说以上三层还包含数据库层(以上三层的划分是在数据库层智商而划分的,所以三层中就没有直接包含数据库)

各层之间的应用场景都是什么呢?为什么要使用三层架构?什么情况下需要使用?

  • 什么情况下需要使用?
  • 即有数据访问层又有业务层
  • 什么情况下不需要使用?
  • 简单 、没有真正的数据存储层
  • 总结:当业务层有一定的复杂度之后就可以用三层架构。
  • -

各层之间都有什么作用呢?

1、数据访问层(DAL)的作用:

  • 从数据源加载数据(select)
  • 向数据源写入数据(Insert/Update)
  • 从数据源删除数据(Delete)
    DAL中常用的技术
  • ADO.NET+SQL语句(ADO是数据访问对象)
  • O/R Mapping框架 NHiberate
  • 访问SQL Server数据库时Linq to SQL
    2、显示层(UI)的作用:
  • UI的作用
    向用户展现特定业务数据
    采集用户的输入信息和操作

  • UI设计的原则
    用户至上,兼顾简洁

  • UI中常用的技术
    WindowsFrom:From、Control
    ASP.NET:aspx、ascx、master、html
    在满足用户需求的前提下,尽量让画面简洁明了。

3、业务逻辑层(BLL)的作用

  • BLL的作用
    从DAL中获取数据,以供UI显示用
    从UI中获取用户指令和数据,执行业务逻辑
    从UI中获取用户指令和数据,通过DAL写入数据源

  • BLL的职责机制
    UI—>BLL—>UI
    UI—>BLL—>DAL—>BLL—>UI

  • 各层之间具体应用——原则

  • DAL只提供基本大的数据访问,不包含任何业务相关的逻辑处理。
  • UI只负责显示和采集用户操作,不包含任何的业务相关的逻辑处理。
  • BLL负责处理业务逻辑。通过获取UI传来的操作指令,决定执行业务逻辑,在需要访问数据源的时候直接交给DAL处理。处理完成后,返回必要数据给UI.
  • 各层之间的引用关系:
    -UI—>BLL—>DAL
    DAL所在程序集不引用BLL和UI
    BLL需要引用DAL
    UI直接引用BLL,可能会简介引用DAL
    以上内容介绍了三层分别是哪三层以及三层的作用是什么?下面我们来举一个生活中的小例子,让我们联系生活易于理解。

    引言:
    大家都很清楚,去饭店吃饭,服务员只管接待客人,出事只管烹炒客人要的美食,采购员只管按客人需求采购肉、海鲜、蔬菜,他们各司其职、共同协作为客人提供美食。
    这里写图片描述
    三层的特点:
    我们现在讲的三层架构,就是用这样工作的,他们三者中任何依着发生变化时都不会影响到其他两者的正常工作,so体现了三层的“高内聚,低耦合”的特点。
    这里写图片描述

三层具体的描述:
从图中我们可以看到三层分别为:表达层(UI、用户界面层)、业务逻辑层(BLL)、数据访问层(DAL)。简单地说一下他们的作用:UI:为用户提供交互操作界面;BLL:负责关键业务的处理和数据传递;DAL:实现数据库访问。这里我就不多说了,因为大家在其他地方会看到很多更详细的说法,但总的来说,核心就是这个了。
下面看看他们之间的依赖关系:
这里写图片描述
简单解释一下,很简单,记住你的代码中所有的三层项目都会在一个解决方案中,应用关系是上面的关系就对了,之后会说代码的时候,就不说这个了。
搭建三层的步骤:
(1)搭建表达层(window)
(2)搭建业务逻辑层(类)
(3)搭建数据访问层(类)
(4)实现各层之间的相互依赖

    -
原创粉丝点击