我们在利用asp.net开发网站的时候,通常会给客户介绍说我们使用的三层架构,可能很多客户还不明白什么是三层架构,它到底有什么好处?
三层架构的好处就在于它能实现显示层与业务逻辑层、数据访问层之间的相对独立,使开发效率更高,后期维护更容易。下面我们就来简单介绍一下三层架构吧:
一.三层架构图
二.系统各层次职责
1.UI(User Interface)层的职责是数据的展现和采集,数据采集的结果通常以Entity object提交给BL层处理。与UI平行的Service Interface层用于将业务发布为服务(如WebServices)。
2.BL(Business Logic)层的职责是按预定的业务逻辑处理UI层提交的请求。
(1)Business class 子层负责基本业务功能的实现。
(2)Business Flow 子层负责将Business class子层提供的多个基本业务功能组织成一个完整的业务流。(Transaction通常在Business Flow 子层开启。)
3.DataAccess层的职责是提供全面的数据访问功能支持,并向上层屏蔽所有的SQL语句以及数据库类型差异。
(1)DB Adapter子层负责屏蔽数据库类型的差异。
(2)ORM子层负责提供对象-关系映射的功能。
(3)Relation子层提供ORM无法完成的基于关系(Relation)的数据访问功能。
(4)BEM(Business Entity Manager)子层采用ORM子层和Relation子层来提供业务需要的基础数据访问能力。
往往在开发中,只要合理的使用好三层架构,一定会让我们的开发效率大大提高。