三层结构的总结

原创 2004年07月08日 16:40:00

三层体系结构是一种对系统进行功能抽象的架构设计方法,它按系统内部各模块要实现的功能任务将系统分成界面层,业务逻辑层,数据访问层。各层各施其职,分工合做。每层里,又可以横行分解出多个层次。

界面层

主要是负责程序界面的显示直接与用户进行交互,如:接受用户的输入,将结果显示给用户,提供一些友好的交互信息等,还有一些有关显示逻辑,如:什么时该显示特定窗体,窗体的显示顺序等等。这层会把从用户哪里接收到的数据传入业务逻辑层中,并等待业务层返回结果,调用业务层所提供的方法来完成所要求实现的功能,具体的实现过程对界面来说是透明的。

业务逻辑层

主要负责处理有关业务逻辑问题,所有有关业务逻辑的都归到这一层上。如:要删除的用户是否存在,是否有外键引用,以及一些数据有效性的检测等等,这里为界面层所提供的一个方法,就是要完成这些类似的业务逻辑操作,可能会调用到多个数据访问层所提供的原子操作。

数据访问层

主要负责跟数据库直接的交互,如:连接数据库,执行增删改查等操作,并将结果返回到业务层,这些操作都是一些基本的数据操作,用以提供给业务层综合使用。

实例总结:当业务层要求查询功能时,数据访问层完成记录查询后,一般是以记录集对象形式去返回这些结果,如果业务层需要利用这些结果就可直接使用,若果是界面层要显示这些查询结果,再由业务层返回给界面层,由界面层操作记录集来将查询结果显示在界面上。这可能觉得有违分层的思想,有关数据库的对象不应该出现在业务层以上,但只要界面层业务层只是简单浏览记录集的话,这种方案还是可以接受的。另外的一种实现方案是向数据访问层传入一个容器,把所得到的结果集都放到这个容器中,然后返回这个容器,利用容器封装记录集,这样就可屏蔽业务层以上对数据库对象的操作,但这种方案的缺点是速度比直接操作记录集慢。

分层代码实现

要实现这种分层思想,可以使用类来实现,但如果把所有的类编译成同一个EXE文件,当程序变得庞大以后,日后要修改某一部分的功能或对系统进行升级时,情况就得变难以控制,必须要整新编译程译,然后重新发布,而且日后当某个工程需要到类似的功能时候,不得不重新再写一次,不利用重用,同时,开发一个这样的系统不得不控制开发人员必须使用同一种语言来进行开发。

由此微软件提出了COM概念,COM只是一种规范标准,并不是一个真正的实际东西,今天所看到activeX ,OLE,自动化服务器都是这个标准的具体实现。通过采用组件式的开发就能充分解决到上面所遇到的问题。当系统某个功能有问题时,只要更新这一组件然后发布,并且COM可由多种语言开发等多个优点。

在winform中使用三层架构学习总结

Winform 三层架构小例子 http://www.cnblogs.com/jacky73/archive/2009/09/01/1558083.html 在web开发中常常用到工厂模式三层架构...
  • bcbobo21cn
  • bcbobo21cn
  • 2017年04月15日 16:17
  • 1611

C#三层架构总结

1. 三层项目  复杂项目不能把SQL语句直接写到界面里,不模块化,难以维护,应该采用三层架构  三层只是一个比较好的软件架构,不是非用三层不可,复杂项目才用三层  界面层UI  业务逻辑层BLL(B...
  • u013905744
  • u013905744
  • 2015年09月25日 18:42
  • 789

两层结构与三层结构

两层结构与三层结构        长期以来,我们一直使用着"客户端/服务器"的两层结构,这种两层的结构曾让无数人为之兴奋和惊叹,即客户端提供用户界面、处理业务逻辑,数据库服务器接受客户端SQL语句并...
  • tangshuji
  • tangshuji
  • 2013年01月04日 16:50
  • 2478

三层架构的原理及实现

三层架构 代码的可扩展性和系统的后期维护: 1、三层就很好的为我们解决了这个问题.让我们不必为了业务逻辑上的微小变化而迁至整个程序的修改,只需要修改商业逻辑层中的一个函数或一个过程; 2、增强了...
  • wenyusuran
  • wenyusuran
  • 2014年12月01日 15:29
  • 3943

三层架构(我的理解及详细分析)

三层架构已经学了一段时间,一直想做一个比较完整、比较完美的总结。但是左思右想,不知道如何下笔。都说万事开头难嘛,今天整理了一下凌乱的思路,哎,还是没整理好,想到哪就说到哪吧。   初学者很不理解: 1...
  • hanxuemin12345
  • hanxuemin12345
  • 2013年01月26日 17:13
  • 105796

三层结构的简单描述及优点,bs三层,web三层,j2ee三层

三层结构的简单描述及优点,bs三层,web三层,j2ee三层 三层结构的简单描述及优点   三层体系结构,即用户层、应用层和数据库服务器。用户层主要指用户界面,它要求尽可能的简单,使最终用...
  • pianistOfSoftware
  • pianistOfSoftware
  • 2016年07月14日 12:52
  • 2164

MFC原创:三层架构01(人事管理系统)DAL

VC++/MFC Window编程原创教程目录  C++课程设计来着。但还没学过数据,也还没理解过三层架构,就把这个作业深化点来做了。虽然要做的这个人事管理系统看起来是挺简单的,无非就是处理员工...
  • wowkk
  • wowkk
  • 2013年01月16日 23:10
  • 5764

MVC和三层架构

一、MVC M:(Model)  模型  :  应用程序的核心功能,管理这个模块中用的数据和值; V(View )视图:   视图提供模型的展示,管理模型如何显示给用户,它是应用程序的外观; C...
  • lyx1980916167
  • lyx1980916167
  • 2017年04月01日 16:04
  • 1930

三层架构实例——通讯录

从三层理论知识的学习到实例操练,已经将近半个月的时间了,现在终于暂时告一段落了。开始跟步练习登录实例的时候,还是有很多的疑问,多亏了我们可爱的王丹(大)同学,听了她的讲解后,感觉顿时明白了许多,也从开...
  • u010773667
  • u010773667
  • 2014年04月04日 20:10
  • 1433

WCF三层架构的建立

新建项目步骤操作 下面图中【图表 0-1】是(创建项目方法步骤2)的操作新建(WCF客户端Client)项目流程; 1)创建新项目方法步骤1: 是打开下图中1处(文件(F))这个选项,然后鼠标移动到新...
  • GX_ChenFuHao
  • GX_ChenFuHao
  • 2015年05月27日 10:44
  • 871
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:三层结构的总结
举报原因:
原因补充:

(最多只允许输入30个字)