A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 星辰shine 中级黑马   /  2016-3-11 23:01  /  532 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

最近在学习三层架构,三层的核心思想就是“解耦”。三层就好比我们去饭店吃饭,服务员只负责接收订单,厨师只管烹饪,采购员只管提供客人需要的蔬菜、肉类等。它们三者之间各司其职,互不影响,从而保证了饭店业务的正常运行。

   这里我们讲的三层是逻辑上的三层,分为表示层、业务逻辑层和数据访问层。饭店中的服务员、厨师和采购员就相当于三层中的表示层、业务逻辑层和数据访问层      

   表示层(UI)

   表示层位于最外层,与用户亲密接触,用于显示数据和接收用户输入的数据,为用户直接的提供一种交互式操作的界面。在.Net中,表示层往往是一个Form窗体。

   业务逻辑层(BLL)

   业务逻辑层位于中间层,解除表示层与数据访问层之间的依赖。业务逻辑层负责处理业务逻辑。通过获取UI传来的操作指令,确定执行业务逻辑,在需要访问数据源的时候直接交给DAL处理。处理完成后,返回必要的数据给UI。

   数据访问层(DAL)

   数据访问层位于最底层,与数据库连接,对数据库中的数据进行增、删、改、查。

   实体层(Entity)

   实体层不属于三层中的任何一层,但它却是三层中不可或缺的一层。实体层是一个独立的类,贯穿于三层中的每一层,进行数据传递。就我目前的理解,实体类对应的是数据库的一张表,其中的属性对应表中的字段。各层之间的数据通过实体变量来完成数据传递。一张图表示它们之间的关系。

        

   


  总结:

  三层架构融合了面向对象的思想,各层之间的调用都是通过实体来实现的。当然,这只是一个简单的三层例子,三层还需要不断的完善。设计模式和三层的结合才能体现出面向对象的伟大之处。


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马