三层架构入门
2014-01-20 11:32
190 查看
在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层、表示层。
1、表示层(WEB):位于系统的最外层,离用户最近。用于显示数据和接受用户输入的数据,只提供软件系统与用户交互的接口界面。
注意:不要在表示层写与业务逻辑和数据访问相关的代码甚至SQL语句。
2、业务逻辑层(BLL):位于表示层和数据访问层之间,专门负责处理用户输入的信息,或者将这些信息发送给数据访问层进行保存,或者通过数据访问层从数据库读出这些数据。简言之,它只负责对数据的业务处理。该层可以包括一些对“商业逻辑”描述的代码在里面。业务逻辑层是表示层和数据访问层之间的桥梁,负责数据处理和传递。
注意:不要在业务逻辑层写访问数据库的SQL语句,业务逻辑层的实际目的是将数据访问层的最基础的存储逻辑组合起来,形成一种业务规则。例如:当用户第一次登陆某系统时,系统会为其自动注册,这就是一种业务逻辑。
3、数据访问层(DAL):仅实现对数据的保存和读取操作。数据访问包括访问数据库系统、二进制文件、文本文档或是XML文档。
注意:数据访问层只负责对数据的访问存取工作,最好不要出现任何与业务逻辑和界面设计相关的代码。
下面以登陆为例,来更为清楚的理解三层的关系:
由图,我们可知登陆的处理程序:表示层负责接收用户在界面输入的账号和密码,然后传给业务逻辑层;业务逻辑层对数据进行处理,给出用户登陆正确判断的逻辑,然后需要传给数据访问层,向数据访问层发出访问数据的请求;数据访问层通过访问数据库,获取所需要的数据,上图中是指相互匹配的账号和密码。
利用三层架构,客户端不直接与数据库进行交互,而是通过业务逻辑层与数据库访问层进行交换。这样,在保证客户端功能的前提下,为用户提供了一个简洁的界面;而在三层架构充分把软件开发任务分解,有利于团队合作开发。不同的开发人员只需要负责他那一层的任务,不需要关心其他层业务。这也就使得一层的代码改变不影响其它层。
当然了,这也会给编程带来一定的弊病,那就是代码量太多,执行速度必然会减慢,这样,对于那些执行速度要求非常高的系统,例如:在线订票,炒股等,效果不是很理想。
这是三层的宏观介绍,关于三层架构的具体操作,我会在不断学习的过程中不断总结,也请读者朋友多多指点交流!
1、表示层(WEB):位于系统的最外层,离用户最近。用于显示数据和接受用户输入的数据,只提供软件系统与用户交互的接口界面。
注意:不要在表示层写与业务逻辑和数据访问相关的代码甚至SQL语句。
2、业务逻辑层(BLL):位于表示层和数据访问层之间,专门负责处理用户输入的信息,或者将这些信息发送给数据访问层进行保存,或者通过数据访问层从数据库读出这些数据。简言之,它只负责对数据的业务处理。该层可以包括一些对“商业逻辑”描述的代码在里面。业务逻辑层是表示层和数据访问层之间的桥梁,负责数据处理和传递。
注意:不要在业务逻辑层写访问数据库的SQL语句,业务逻辑层的实际目的是将数据访问层的最基础的存储逻辑组合起来,形成一种业务规则。例如:当用户第一次登陆某系统时,系统会为其自动注册,这就是一种业务逻辑。
3、数据访问层(DAL):仅实现对数据的保存和读取操作。数据访问包括访问数据库系统、二进制文件、文本文档或是XML文档。
注意:数据访问层只负责对数据的访问存取工作,最好不要出现任何与业务逻辑和界面设计相关的代码。
下面以登陆为例,来更为清楚的理解三层的关系:
由图,我们可知登陆的处理程序:表示层负责接收用户在界面输入的账号和密码,然后传给业务逻辑层;业务逻辑层对数据进行处理,给出用户登陆正确判断的逻辑,然后需要传给数据访问层,向数据访问层发出访问数据的请求;数据访问层通过访问数据库,获取所需要的数据,上图中是指相互匹配的账号和密码。
利用三层架构,客户端不直接与数据库进行交互,而是通过业务逻辑层与数据库访问层进行交换。这样,在保证客户端功能的前提下,为用户提供了一个简洁的界面;而在三层架构充分把软件开发任务分解,有利于团队合作开发。不同的开发人员只需要负责他那一层的任务,不需要关心其他层业务。这也就使得一层的代码改变不影响其它层。
当然了,这也会给编程带来一定的弊病,那就是代码量太多,执行速度必然会减慢,这样,对于那些执行速度要求非常高的系统,例如:在线订票,炒股等,效果不是很理想。
这是三层的宏观介绍,关于三层架构的具体操作,我会在不断学习的过程中不断总结,也请读者朋友多多指点交流!
相关文章推荐
- 步步为营:三层架构+ASP.NET MVC 架构的快速搭建(入门篇)
- (三层架构入门)最基本的三层架构搭建方法(详细过程及所有代码)
- 三层架构入门
- asp.net 三层架构超快速入门
- 最适合入门学习的三层架构例子(实现登录)
- 三层架构的入门实例讲解
- 三层架构入门
- 步步为营:三层架构+ASP.NET MVC 架构的快速搭建(入门篇)
- 【三层架构】入门知识梳理
- 三层架构入门实例
- 步步为营:三层架构+ASP.NET MVC 架构的快速搭建(入门篇)
- JAVA WEB从入门到精通day14 JAVA三层架构、登录注册实战演练
- 二、OpenStack入门 之 架构分析
- Vmware入门---------VSphere架构及初步分析
- 初识三层架构……为什么要分层?
- 软件开发过程中的三层架构的深入解析和搭建(一)
- 【Linux 入门笔记】系统目录架构
- Android零基础入门第2节:Android 系统架构和应用组件那些事
- 软件架构入门
- Android零基础入门第2节:Android 系统架构和应用组件那些事