首先,我们这里所说的三层架构是指逻辑上的划分,并不是物理上的划分方式。区分层次的目的即为了“高内聚,低耦合”的思想。使用三层架构,必然有很多的好处和优点,但并不是所有的都必须用三层。对于比较业务逻辑简单,没有真正的数据存储的项目系统,就不需要用三层了。
三层具体是指表现层,也叫显示层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。下面分别介绍一下这三层:
1、表现层UI
表现层是呈现给用户的,因此其设计与构想要符合用户的偏好和风格。“用户至上,兼顾简洁”是一个不变的原则。
回想我们做VB小例子的时候,Form1就是最终运行的时候呈现出来的界面,我们可以通过它来输入密码登录,也可以通过它获取信息。UI的作用跟它差不多作用无非就是输入和输出,即向用户展现特定业务数据,采集用户的输入信息和操作。
表现层只负责这两个大的功能,而对于显示的数据是怎么来的、又是如何工作的,它都不用考虑。
2、业务逻辑层BLL
很多人把业务逻辑层看作是三层的核心,这也说明了它在体系架构中的关键位置,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。
它的作用也可大概分为两个:一是从数据访问层DAL获取数据,供UI显示;一是对从UI得到用户的指令和数据,进行业务逻辑处理,然后写入DAL数据源。比如,用户输入用户名和密码进行登录,BLL层就负责对其进行业务逻辑处理,然后DAL层查看是否存在该用户。
3、数据访问层DAL
三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目。MVC是一个设计模式,它是根据项目的具体需求来决定是否适用于该项目。
我们一般是在考虑使用了三层架构的基础上再根据具体需求决定是否需要使用MVC,所以MVC中总是伴随着三层架构,所以大家总是会认为MVC就是三层架构,三层架构就是MVC,殊不知,它们二者是一起出现的。