`

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)

    通过这种分层设计,我们的项目不仅提高了代码的可读性和可维护性,还增强了系统的可扩展性和灵活性。 抽象工厂设计模式则是在我们的项目中作为创建型模式出现的一个亮点。它提供了一种创建一组相关对象的方法,而不...

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

Global site tag (gtag.js) - Google Analytics