1:三层架构是什么?
三层架构是一个分层式的软件体系架构设计理念。
把软件架构分为三层;
1:UI层 (user interface layer) 界面层
2:BLL层 (business logic layer) 业务逻辑层
3:DAL层 (data access layer) 数据访问层
其实就是项目的三个部分。
传统的项目,广义上需要关注的是客户端和服务端;相当于是一个两层架构。
客户端: 包含界面、业务逻辑
服务端: 包含数据
这样的设计理念的最大的缺点是:
一旦服务端数据结构或数据名发生变化,客户端需要在很大范围内做改变,以适应新的数据。比如说服务端的一个数据名因故改变了,那么客户端代码中所有用到该条数据的地方都需要做改变。
三层架构的设计理念,把一个软件分为三个部分:
UI层:就是展现给客户的界面,用于展示用户输入以及服务端返回的数据;交互式操作界面中,用户输入的数据和想要的数据展示。
业务逻辑层: 桥梁层,用户输入的数据通过业务逻辑层的处理发给数据层;数据层返回的数据通过业务逻辑层发送给界面展示。常做的操作是验证、计算、业务规则等。
数据访问层:主要管理数据,实现对数据的增删改查等操作。把业务逻辑层提交的用户输入的数据保存,把业务逻辑层请求的数据返回给业务逻辑层。
2:为什么要分三层架构?
三层架构的重要指导原则就是:高内聚、低耦合。
所以使用三层架构的最大目的就是:解耦。
所谓解耦就是软件各部分各司其职,一方的变化基本不会影响到另一方,只需要在对接初稍作修改就可以了。
3:三层架构怎么实现?
理论上三层架构的实现,在项目架构上是:
view
business
data
三个层。
view目录结构里面实现页面UI绘制,是页面的代码实现,页面里数据的来源和去向都是business;
business目录结构里面是把页面输入数据发送向data层,把data层返回数据返回给view展示;
data目录结构里面是对数据的处理,包括数据的增添改删。
4:三层架构与mvc
三层架构与mvc看似相似,
本质区别是,三层架构是一种软件架构设计理念,适用于所有项目;
而mvc只是UI层的一种细化。把UI层划分为M -V- C三个模块。