三层结构的总结

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

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

界面层

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

业务逻辑层

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

数据访问层

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

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

分层代码实现

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

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

C#三层架构总结

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

三层结构总结

三层结构就是指将整个业务应用划分为:表现成、业务逻辑层、数据访问层。分层的目的主要就是为了实现“高内聚低耦合”的思想。 表现层(UI) 表现层用于用户接口的展示,通俗来说就是展示给用户...
  • zhijianhuiyi
  • zhijianhuiyi
  • 2016年12月25日 10:29
  • 364

JavaEE 三层结构

Struts2.0+spring+hibernate三层软件架构是一个比较成熟的轻量级的软件架构,基于此开发的B/S模型的软件至少包含以下三个部分:表示层、业务逻辑层和数据访问层。由Struts2.0...
  • u010403136
  • u010403136
  • 2017年07月21日 09:36
  • 127

JavaEE----JavaEE经典三层结构和MVC

  • bluzelee2011
  • bluzelee2011
  • 2015年01月20日 15:35
  • 813

javaEE的三层结构

表示层技术: (1)html (2)javascript (3)Ajax 例子如下         页面显示技术       function test(){ aler...
  • zhongriqianqian2076
  • zhongriqianqian2076
  • 2013年10月03日 09:46
  • 824

JAVAEE三层架构

1.1. JAVAEE三层架构*****   采用三层架构优点:利用开发与复用 结构清晰,利用标准化。 三层: Web层:它主要包含的关于javaweb相关操作,例如request,respo...
  • boss_way
  • boss_way
  • 2017年11月10日 12:24
  • 92

谈谈三层结构开发的理解

  一、    前言最近几个网友在讨论程序设计中的分层设计,反响非常激烈。大家对此非常感兴趣,且仁者见仁,智者见智。不管怎么样,他们的看法代表了他们对程序的理解,是他们实践经验的总结,是宝贵的。今天,...
  • guoguo19811025
  • guoguo19811025
  • 2006年08月18日 22:35
  • 10426

软件的三层架构的理解

用MS.NET开发三层结构应用程序发文时间:2003.05.26传统两层结构CLIENT/SERVER体系结构的弊端:(1)     服务器负载和网络负载等问题;(2)     需求变化时需要重写服务...
  • bigstoneasd
  • bigstoneasd
  • 2007年09月05日 16:12
  • 1563

关于学习C#的三层结构的优缺点比较

优点:   1、开发人员可以只关注整个结构中的其中某一层;   2、可以很容易的用新的实现来替换原有层次的实现;   3、可以降低层与层之间的依赖;   4、有利于标准化;   5、利于各层...
  • holeeye
  • holeeye
  • 2014年06月10日 22:35
  • 901

一个简单的三层结构的类

/**//****************************************************************** *  *                      Gu...
  • feng2375
  • feng2375
  • 2008年01月07日 22:59
  • 604
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:三层结构的总结
举报原因:
原因补充:

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