捷码技术| Web应用架构

远眺捷码官方团队 2023-05-23 11:33:15

 

所谓web应用架构就是一个用来处理内外部各个组件的框架,他主要处理这些组件之间的连接和交互(中间层,用户接口以及数据库等等)。这样,web就可以被客户所使用。

一、什么是三层架构?

三层架构就是把整个软件系统分为三个层次

  • 表现层(Presentation layer)
  • 业务逻辑层(Business Logic Layer)
  • 数据访问层(Data access layer) 

分层的优点:

  • 方便团队分工,一个程序员单独完成一个软件产品不是不可以,但遇到大型软件需要团队配合的时候问题就来了,由于每个程序员风格不一样,而开发软件大量的代码风格不统一就会造成后期调试和维护出现问题,然而软件分层后,每个层合理分工这样的问题便迎刃而解。
  • 规范代码,在开发软件时对每个层的代码进行规范,固定开发语言的风格。
  • 忽略数据库差异,当软件系统要换数据库时,只要将数据访问层的代码修改就好了。
  • 实现"高内聚、低耦合"。把问题划分开来各个解决,易于控制,易于延展,易于分配资源。

总之优点很多,分层给我最直观的感受是,代码逻辑清晰了很多。

 

二、各个层次的任务

  • 表现层(Presentation layer):表现层可以说是距离用户最近的层,主要是用于接收用户输入的数据和显示处理后用户需要的数据。一般表现为界面,用户通过界面输入查询数据和得到需要的数据。
  • 业务逻辑层(Business Logic Layer):业务逻辑层是处于表现层和数据访问层之间,主要是从数据库中得到数据然后对数据进行逻辑处理。
  • 数据访问层(Data access layer):数据访问层是直接和数据库打交道的,对数据进行“增、删、改、查”等基本的操作。

不知道大家和我有没有同样的困惑:为什么中间要有业务逻辑层?为什么数据访问层不能对数据进行逻辑处理呢?少了中间一层不是减少了代码量吗?

  • 用户对应为:食客;(食客通过服务员点单)
  • 表现层对应为:服务员;(服务员负责食客的点单和上菜)
  • 业务逻辑层对应为:主厨;(主厨从服务员那获得通知,向助手要原材料,并将原材料绘制成成品交给服务员)
  • 数据访问层对应为:助手;(助手从主厨那获得通知,提交给主厨原材料)

 

这样的话,当大型个软件系统中出现问题时就可以很方便的解决问题

服务员服务态度不好>>>>>>换服务员
菜品味道不好,调味失衡>>>>>>换主厨
菜品的原材料不够新鲜>>>>>>>>换助手


三、三层架构之间如何联系起来?

 

一般来说都是通过实体层(entity layer)贯穿三个层次之间。实体层不属于三层架构中的任意一层。
●表现层在客户端电脑上展示,如Chrome浏览器,通过Http请求和业务逻辑层进行通信,请求的参数、返回结果可以理解为这两层间交互用的实体对象(目前主流的都是Json格式的对象数据)
●业务逻辑层和数据访问层间使用Java对象作为实体类,如针对数据库中学生信息表,创建一个User实体类。
 

 

 


 

 

...全文
41 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

33

社区成员

发帖
与我相关
我的任务
社区描述
捷码-全技术链赋能的通用型低代码开发平台
企业社区
社区管理员
  • 捷码小编
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧