软件设计的三层架构

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三个模块。

    原文作者:Sean_Dr
    原文地址: https://www.jianshu.com/p/9c7c11cc5a92
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞