`

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 | ...

    actix-web 项目的入门模板,感觉非常具有 Django 风格。 避免无聊的东西并更快地移动。

    果冻AKA,您可能希望拥有的 actix-web starter。这是按原样提供的,任何人都可以根据自己的意愿自由扩展或返工 - 如果您基于它构建了一个 Web 框架,请给予一些信任。:)免责声明:这是在内部使用的,虽然它非常有用...

    go web 项目开发脚手架

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

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

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

    在Web项目中集成Spring

    在Web项目中集成Spring是一个常见的开发实践,Spring框架以其强大的依赖注入、面向切面编程以及丰富的功能模块,极大地简化了Java Web应用的开发。本文将深入探讨如何在Web项目中集成Spring,包括Spring MVC的使用、...

    bubble-master_gin+gorm学习项目_已分层.rar

    在"bubble-master_gin+gorm学习项目_已分层.rar"这个压缩包中,我们可以深入学习如何将 Gin 与 Gorm 结合,构建一个分层结构的 Web 应用程序。 1. **Gin 框架基础** - Gin 提供了一个简洁的 API,使得开发者可以...

    Java web项目—网上商城项目

    【Java Web项目—网上商城项目】是一个典型的Java后端技术与Web前端技术相结合的应用实例,主要采用了SSH(Struts2、Hibernate、Spring)三大框架进行开发。SSH框架因其高效、灵活和可扩展性,在企业级应用开发中...

    asp.net分层小项目

    《ASP.NET分层小项目详解》 在信息技术领域,ASP.NET是微软公司开发的一个用于构建Web应用程序的框架,它提供了一种高效、易用且功能强大的方式来创建动态网站。本项目“asp.net分层小项目”是一个典型的使用ASP...

    jsp项目(WEB)

    【标题】:“jsp项目(WEB)”是一个基于JavaServer Pages(JSP)技术构建的Web应用程序,它展示了在开发Web项目时使用的技术栈和设计模式。这个项目可能旨在实现一个类似于“酷狗官网”的功能,提供了音乐播放、...

    Web项目解决方案框架

    在构建Web项目解决方案时,框架的设计是至关重要的。本文将深入探讨如何构建一个高效、可扩展的Web项目框架,主要涉及以下几个关键知识点: 1. **页面对象组件ActionForm设计**: ActionForm是Struts框架中的核心...

    DotNet分层

    因此,在实际应用中,开发者需要根据项目的规模和需求来权衡是否采用分层架构。 总结来说,DotNet分层架构是软件开发中的重要设计模式,它有助于构建可维护、可扩展的WindowsApp。通过合理划分各个层次,我们可以...

    行业分类-设备装置-支持平台多应用的WEB服务分层鉴权方法.zip

    5. **案例分析**:通过具体的实例展示如何在实际项目中实施这种分层鉴权方法,可能包括设计流程、代码示例和效果评估。 6. **最佳实践和建议**:提供一些实施过程中的最佳实践,如定期更新密钥、使用HTTPS、对敏感...

    C#分层思想之实例项目详解

    在一个实际的C#分层项目中,我们可能先创建一个简单的数据模型,比如用户(User)类,包含ID、姓名、邮箱等属性。接着,创建对应的数据访问层接口,如IUserService,定义增删改查等方法。然后实现这个接口,具体...

    小程序项目分层架构.zip

    在这个“小程序项目分层架构.zip”压缩包中,我们关注的是如何构建一个高效、可维护的小程序项目结构。主要涉及到的知识点包括JavaScript编程语言、软件工程中的分层架构设计以及小程序的开发规范。 首先,...

    OA项目权限设计—Web项目权限设计资料

    在Web项目中,权限设计尤为关键,因为网页应用广泛,用户多样,需要灵活且严谨的权限控制机制。 一、权限数据库设计 1. 角色(Role)与用户(User)关系:在权限设计中,角色是一种预定义的权限集合,用户通过被...

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

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

    express 项目分层实践详解

    Express,作为Node.js中流行的Web应用框架,同样可以采用分层架构来优化项目。本篇文章将详细介绍如何在Express项目中进行分层实践,旨在帮助开发者实现更高效、更模块化的代码管理。 首先,我们要理解四层(或五层...

    javaweb分层架构

    JavaWeb分层架构是开发大型、复杂Web应用的常用模式,它通过将应用程序的不同功能划分为各个独立的层,实现了代码的复用、模块化和易于维护。在JavaWeb开发中,通常会涉及到以下几层架构: 1. 表示层(Presentation...

    SpringBootWeb 请求响应 分层解耦

    在Spring Boot Web应用中,请求响应的分层解耦是构建高效、可维护系统的关键实践。Spring Boot简化了Java Web开发,提供了丰富的自动化配置和快速启动能力,而分层架构则有助于保持代码的清晰和模块化。以下是关于这...

Global site tag (gtag.js) - Google Analytics