CSDN博客

img marcoleung

三层结构的总结

发表于2004/7/8 16:40:00  1547人阅读

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

界面层

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

业务逻辑层

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

数据访问层

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

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

分层代码实现

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

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

0 0

相关博文

我的热门文章

img
取 消
img