`

web项目的分层

阅读更多

根据个人经验和理解,将web项目分为三个层次:web层、业务逻辑层和数据层

1.web层

web层可以分为三个方面,经典的设计模式MVC:

M--model,一般表现为提交的表单内容,请求参数等,是服务器与客户端之间交流的数据载体(与数据层的model不是一个概念)

V--view,表现层,用来展示客户端请求的结果,服务器返回的数据经过渲染展示给用户,通常就是我们将的页面

C--controller,控制器,是客户端与服务器的交通枢纽,它将客户端发来的请求分配到指定的方法,然后执行相应的业务操作, 又将服务器返回的数据分配到指定的view,view经过渲染展示给用户

2.业务逻辑层

业务层是承接层,用来处理业务逻辑,它按照web层的要求对数据层进行增删改查,并将执行结果反馈给web层,是最重要也是最复杂的一层,通常使用事务

3.数据层

数据层可以分为三方面:DAO、文件系统和其它应用数据

DAO--Data Access Objects数据访问对象,将数据表与对象映射,常用的技术hibernate、spring data jpa和ibatis

文件系统--硬盘上的文件,比如有些业务要涉及到文件的读写

其它应用数据--有时应用需要同其它应用进行数据交互,比如抓取其它应用的图片或文件url

 

三个层面各司其职,web层的controller由于负责任务分配,所以尽量简单,涉及到逻辑方面的代码放到业务逻辑层,应该是‘瘦C胖S‘。

分享到:
评论

相关推荐

    c++多模块web项目实践方案-项目分层骨架

    这是博文 【c++多模块web项目实践方案【cmake+cppcms+boost+fmt】】附带的项目源代码骨架。笔者主要提出了自己对于c++项目如何分层,如何做一个简单的网站的见解。具体文章地址在:...

    springboot项目分层改造

    springboot项目分层改造 | cili-common | 公共模块 | cili-repository | 数据存储层 | cili-infrastructure | 基础服务层,包含redis,mq等外部基础服务或中间件服务 | cili-service | 业务服务层 | cili-web | ...

    拓薪教育-Struts2内幕深入剖析和实战精讲

    拓薪教育-struts2的前奏web项目分层介绍和struts2所处的位置【】02.拓薪教育-struts2介绍【】03.拓薪教育-struts2的第一个例子【】04.拓薪教育-struts2的struts2的运行流程【】05.拓薪教育-struts2的struts2的配置 ...

    JSP项目MVC设计模式Web通讯录

    这是我们老师做的一个小项目功能很简单的一个Web通讯录。但是编程师按照MVC设计模式分层实现的。 原项目是由Oracle数据库,我的电脑是没有所以现在我把项目改成了MySQL数据库的。数据库的jar包同项目一起打包。 ...

    基于.NetCore开发WebApi,WebApi框架

    基于.NetCore3.1搭建webapi框架。涉及知识有: 1.swagger API接口文档生成 2.多层(包含接口调用方式)高性能数据处理结构 3.数据仓储模式的实现 4.JWT token身份授权验证 5.appsetting.json文件集成读取配置

    go web 项目开发脚手架

    ## 项目分层模式 ### MVC - Model:模型代表一个存取数据的对象。它也可以带有逻辑,在数据变化时更新控制器。 - View:视图代表模型包含的数据的可视化。 - Controller:控制器作用于模型和视图上。它控制数据...

    javaweb分层架构

    javaweb项目开发三大框架的描述!以及javaweb的分层架构的方式!

    VS2010架构分层应用系统

    健雄职业技术学院实施了信息化数字校园工程,引入了国家级CRP系统工程,学院在未来几年中要实现教学研各项管理的信息化,有教务处牵头委托软件与与服务外包学院开发一款毕业设计管理Web应用系统,实现对学生毕业设计...

    ssh分层项目聚合demo版

    将ssh工程拆分为多个模块...一个父工程maven project(pom),然后在创建四个子模块(maven moudule),其中四个子模块,分别为 domain、dao、service、web,也就是将四层的内容分别独立为一个项目,进一步将耦合性降低。

    springboot+mybatis 分层设计

    采用springboot+mybatis,并多层设计,分为web、service、

    全端Web开发:使用JavaScript与Java 非扫描版 高清带书签

    通过阅读本书,你将会:了解客户端和服务器端分层的好处,包括代码组织和快速原型开发; 探索JavaScript开发中用到的各种主流工具、框架和起点项目; 深入学习Web API设计和REST风格的软件架构; 了解有别于传统打包...

    独立支付项目,对外api,系统间dubbo调用,接口 实现 web分层.zip

    dubbo系统源码,所有源码均经过严格测试,可直接运行,有需要的自取。

    王勇drp项目分析web开发分析

    初步了解项目开发流程 了解DRP系统基本的业务流程 进一步加深对树状结构运用的理解 进一步加深对分页技术的理解 熟练session和filter的概念和运用 掌握html,了解css 掌握页面开发技术javasciprt的基本应用 掌握Ajax...

    koa大型web项目中使用路由装饰器的方法示例

    在npmjs上搜索关于koa路由装饰器的已经有那么几个包了,但是我从几个包中发现作者的思维仅仅限制于前端开发的思想,项目分层不明确,我们开发kow-web项目可以根据java-web中项目分层的思想来写项目,项目结构清晰明了,...

    WebAPI-Demo项目

    一个简单的MVC项目示例,有较好的结构分层,体现了DDD,AOP,面向接口等思想.

    强大的Web开发框架

    c) 统一企业的项目UI设计,统一的框架结构,能迅速规范企业的Web表现层代码设计规范,最大限度的减轻企业后期的项目管理、维护、升级成本; d) 减少企业Web表现层开发人员的培训投入; 2、 完善的组件开发包:为...

    springboot项目架构

    springboot项目架构。欢迎学习springboot开发的朋友看下

    全端Web开发:使用JavaScript与Java.pdf.zip

    全端Web开发:使用JavaScript与Java。了解客户端和服务器端分层的好处,包括代码组织和快速原型开发;仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!

    think-cola:本项目结合COLA(整洁面向对象分层架构)4.0 实现

    工程师的首要技术使命就是控制复杂度,本项目结合COLA 4.0(整洁面向对象分层架构)实现。 使用 Maven archetype 创建项目 mvn archetype:generate -DgroupId=...

    Java web 期末大作业,完成度100%附带文档.

    本次项目主要以本学期所学内容为基础,采用servlet+jsp+jdbc的技术以及mvc模式进行项目开发,本次开发的内容主要以实现CRUD核心功能为主的教务管理系统,分为学生端和教师端,前端采用jquery进行数据传输以及处理,...

Global site tag (gtag.js) - Google Analytics