软件开发过程中三层架构的解析和搭建
Zhuojun Zhao
引言
曾经有人这样来描述一个软件开发人员:办公室抽屉里永远塞着几包不知道
搁了多久的饼干,蓬头垢面、衣衫褴褛、双眼发红冲到超市买方便面的一定是程
序员。这个描述虽然夸张,却非常形象。软件开发的确是一个艰辛的工作,但如
果我们开发人员能够搭建一个好的软件架构,那么整个开发工作会变得有效,而
开发出来的软件也会更稳定、更容易维护。本文笔者就软件开发过程中的三层架
构的定义和特点,以及以.Net 平台上搭建三层架构为例做一个分析和探讨。希望
能对软件开发人员提供一些帮助。
一、 什么是三层架构?
设想我们去餐厅吃饭,我们刚坐下来,就会有服务员过来为我们服务。服务
员记下我们点的菜,然后将菜单传给厨房的大厨。大厨拿出后勤人员事先买好准
备好的菜开始烹制,然后交给服务员端出来让我们享用。其实这个餐厅的饮食服
务业务可以分解为三个部分来完成,每一部分各司其职。服务员只管接待顾客、
向厨师传递顾客的需求;厨师只管烹炒不同口味、不同特色的美食;后勤工作人
员只管提供美食原料。他们三者分工合作共同为顾客提供满意的服务。在餐厅里
为顾客提供服务期间,服务员、厨师、后勤工作人员,三者中任何一个人员发生
变化时(例如请假或辞职)都不会影响其他俩者的正常工作,只对变化者进行重
新调整即可正常营业。
我们软件开发的三层架构与餐厅的服务流程类似。“三层架构”中的“三层”
是指:“表示层”(User Interface Layer—UI)、“业务逻辑层”(Business Logic
Layer—BLL)、“数据访问层”(Data Access Layer—DAL)。三层架构的结构
可以用如下图一来表示:
图一:软件系统三层架构示意图
表示层:位于系统的最外层(最上层),离用户最近。用于显示数据和接收用户
输入的数据,只提供软件系统与用户交互的接口界面。
表 示 层
业务逻辑层
数据访问层
数据库
服 务 员
厨 师
后勤人员
市场