前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >简单Web应用框架设计

简单Web应用框架设计

作者头像
全栈程序员站长
发布2022-06-30 13:52:45
7470
发布2022-06-30 13:52:45
举报
文章被收录于专栏:全栈程序员必看

对于web应用,我们可以简单将其抽象归纳为如图中所示几个部分:客户端(Client)、请求处理(Router)、业务处理(Controller)、外部调用(eAPI)、视图引擎(View)、服务引擎(Service)、数据持久(DAO)和数据库文件系统。

晓宇码匠
晓宇码匠

1.请求处理Router

请求处理主要是对客户端全部请求的统一入口,和硬件路由器的功用相似。请求处理主要对客户端请求进行过滤、定位控制器、权限校验等作用。

2.业务处理Controller

业务处理主要是结合具体的业务对用户的请求进行处理,其实这也是我们常说的控制器;控制层负责处理逻辑控制。

3.视图引擎View

视图引擎主要调用模板对业务数据进行渲染,输出html界面文件。

4.服务引擎Service

服务类似于业务处理,从整个应用层面来看,服务属于一类稳定的、安全的、全局的业务应用,处于业务和数据的中间。在有的应用中,直接将服务层合并到了业务处理中,但是我还是倾向于将服务剥离出来;服务层负责处理业务。

5.数据持久DAO

数据持久主要用于和数据库文件系统交互,也就是我们经常说的CURD操作。通常调用数据库或文件系统提供的CURD驱动接口(DataDriver)实现;dao层是单精度方法,负责实现功能,不处理业务。

6.数据库、文件系统

数据库、文件系统主要用于提供数据的CURD具体实现,如:MySQL、NTFS文件系统,并为三方应用提供数据驱动接口DataDriver。

我的ssm的分层方式

晓宇码匠
晓宇码匠
  • com.xiaoyu.shop.bean:实体类
  • com.xiaoyu.shop.controller:控制类(负责业务逻辑)
  • com.xiaoyu.shop.dao:接口类
  • com.xiaoyu.shop.instrument:工具类
  • com.xiaoyu.shop.service:服务类(功能的具体实现,供控制类使用)
  • com.xiaoyu.shop.test:测试类
  • com.xiaoyu.shop.util:其他类(外部调用或者拦截器)
  • resources:静态资源
  • webapp:视图层 以上也是基于MVC架构来实现的

MVC的优点 1.低耦合性   视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。 2.高重用性和可适用性    随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。它包括任何 WEB(HTTP)浏览器或者无线浏览器(wap),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是 一样的。由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。例如,很多数据可能用HTML来表示,但是也有可能用WAP来表示,而这 些表示所需要的命令是改变视图层的实现方式,而控制层和模型层无需做任何改变。 3.较低的生命周期成本   MVC使开发和维护用户接口的技术含量降低。 4.快速的部署   使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。 5.可维护性   分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。 6.有利于软件工程化管理   由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。

普及

交互式系统:

  • PAC模式定义表示-抽象-控制(Presentation-Abstraction-Control,PAC)体系结构模式以合作agent的层次形式定义了交互软件 系统的一种结构。
    • 介绍   PAC模型以树状层次结构构建交互式应用层次。PAC agent共分三层:顶层PAC agent,底层PAC agent和中层PAC agent。但要注意的是,PAC并不是每个字母对应一层。后面,出现“agent”的地方与“PAC agent”同义。   顶层agent负责系统的核心功功能。比如说建立在一个数据仓库上的应用程序,顶层agent就相当于访问数据仓库的接口。   中层agent则是负责沟通底层和顶层agent。注意中层agent并不一定直接就和底层agent通信。因为中层agent中也可以分层次,高级别的中层agent管理低级别的中层agent,这个就有点像树里面的非叶子节点。   底层agent表达了独立的语义概念。比如,负责显示功能的agent,柱状图、饼图等各种视图都可以通过一个agent来控制。底层agent负责直接跟用户打交道,也就是除了显示数据还可以接收输入。   个人认为说agent分为三层还不如说agent分为三类。虽然,这样表述系统层次结构不太明显,但是起码不会和层次模型混淆。
  • MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)  (控制器Controller)- 负责转发请求,对请求进行处理。 (视图View) – 界面设计人员进行图形界面设计。 (模型Model) – 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/106705.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年7月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 普及
    • 交互式系统:
    相关产品与服务
    数据库
    云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档