三层架构:三层架构就是为了符合“高内聚,低耦合”思想,把各个功能模块划分为表示层(UI)、业务逻辑层。
(BLL)和数据访问层(DAL)三层架构,各层之间采用接口相互访问,并通过对象模型的实体类
( Model)作为数据传递的载体,不同的对象模型的实体类一般对应于数据库的不同表,实体类的属
性与数据库表的字段名一致。
三层架构区分层次的目的是为了 “高内聚,低耦合”。开发人员分工更明确,将精力更专注于应用系统
核心业务逻辑的分析、设计和开发,加快项目的进度,提高了开发效率,有利于项目的更新和维护工
作。
它的含义主要是指将业务应用规划中的表示层 UI、数据访问层 DAL 以及业务逻辑层 BLL,其分层的核心任务是“高内聚低耦合”的实现。在整个软件架构中,分层结构是常见和普通的软件结构框架,同时也具有非常重要的地位和意义。这种三层架构可以在软件开发的过程中,划分技术人员和开发人员的具体开发工作,重视核心业务系统的分析、设计以及开发,提高信息系统开发质量和开发效率,进
而为信息系统日后的更新与维护提供很大的方便。
三层架构分层方式怎么样分层符合三层架构原则呢?主要有以下三种分层方式:
1、数据层不包含任何代码,只有数据库,还有相关的存储过程。这种模式下,数据层看起来就变得
很简单了。只包含所建立的数据库和一些存储过程(注意是存储过程)。其实这些存储过程的建立也
是相当复杂的,因为它们可以完成除数据访问外的其他一些很强大的功能,如分页、实现搜索算法
等。数据访问的逻辑就都放在业务层,当然业务层还包含其他一些逻辑代码。我们来看一个示例,假
设数据库里有一个表 BOOKS(书),建立一个存储过程 GetAllBooks,用来读取书的信息,这样在
业务层里编一个方法 GetBookS()和一个公用数据库访问类,GetBooks()就通过数据库访问类打
开连接,执行在存储过程,返回数据 (返回类型可以是 DataT - able,DataSet,DataReader 或 者
实 体 类)。业务层单独编译成一个或者几个 DLL 文件。接着就是表示层了,表示层通过调用
GetBookS()返回数据绑定在相关的控件里。业务层的方法都是在表示层调用。一般来说 book.aspx
和 book.aspx.cs 都是表示层的内容,所有前台的设计、相关控件、数据缓存都是属于表示层。
2、数据层还包含所有公共数据访问代码。这种模式和前一种差别不大,主要是把数据访问代码留到
数据层。这样可以很方便地实现对多数据库的支持。业务逻辑层直接调用数据层的相关访问数据的代
码,完全不必了解底层是什么数据库。其他和前一种没什么分别。
3、所有数据读取都放在数据层。这种模式下像前面所述的 GetBooks()方法都是放在数据层,在业
务层再定义一个GetBookS()方法以供表示层调用。这种模式下业务层不但不必了解底层是什么数
据库,而且连数据库的结构都不必了解了,这是最标准的三层架构了,在 Microsoft 的 PetShop 4.0里就是这种模式。



