通用后端开发说明及开发规范

简介: 通用后端开发说明及开发规范

1 前后端分离开发

1.1网站后台的部分采用前后端分离方20210216131500207.png以前的JavaWeb项目大多数都是java程序员又当爹又当妈,又搞前端,又搞后端。随着时代的发展,渐渐的许多大中小公司开始把前后端的界限分的越来越明确,前端工程师只管前端的事情,后端工程师只管后端的事情。正所谓术业有专攻,一个人如果什么都会,那么他毕竟什么都不精。


对于后端java工程师:


把精力放在设计模式,spring+springmvc,linux,mysql事务隔离与锁机制,mongodb,http/tcp,多线程,分布式架构,弹性计算架构,微服务架构,java性能优化,以及相关的项目管理等等。


对于前端工程师:


把精力放在html5,css3,vuejs,webpack,nodejs,Google V8引擎,javascript多线程,模块化,面向切面编程,设计模式,浏览器兼容性,性能优化等等。

1.2企业开发流程

0 项目(产品)经理。UI 原型图 需求文档:登录页面 商品详情页
1项目经理让美工做出原型页面
2项目经理 拉着后端开发 前端开发工程师 讨论
3定义业务接口  post /user/add {}           **查看资料中的接口文档**
4前后端分离开发
5前后端联调
6测试环境发布,测试部门测试
7预发布环境(业务部门老大 、技术部门老大)
8运维 正式上线
9线上bug:快速修复,当天晚上11-12 部署上线。程序员回不了家原因。

2 后端接口开发规范

2.1开发原则

自顶向下的设计原则:功能应该从表现层分析再到控制层、服务层、持久层逐层设计

自底向上的开发原则:上层需调用下层,因此开发应从底层向上层逐层开发项目中开发的层次次序参考DB->中间件->持久层->服务层->控制层

单一职责的开发原则:类或者方法提供的功能应该单一明确,特别越底层越应单一职责,以便维护 项目中Mapper方法必须功能单一,参数明确,拒绝两种以上的持久逻辑使用同一个Mapper方法

依赖倒置的开发原则:上层依赖下层,是依赖下层接口,并不是依赖下层的实现项目中每层都是通过接口调用Controller->Service->Mapper

2.2 开发步骤

明确类定义:明确哪些是重用类,哪些是需要新增的类。

明确主键规则:确认操作表的ID生成规则,是Mycat主键,还是Zk主键

ControllerApi定义

Mapper实现:查、改、删时注意是否使用mycat注解确认DN,插入时是否要插入主键id

Service实现:可用通过时序图帮助我们梳理实现逻辑

Controller实现:简单的Service层调用

单元测试或接口测试

2.3 接口版本规范说明

随着业务的复杂,同一个接口可能出现多个版本,为了方便后期切换和AB测试,需要定义接口的版本号

  • 在某一个微服务下访问controller的时候在包名下加一个版本号,如下
com.oldlu.article.controller.v1
  • 在访问具体的接口方法的url映射的时候也应该加上版本说明,如下:
@RequestMapping("/api/v1/article")

2.4 接口通用规范

ID混淆 请求和响应的连续增长ID需要经过混淆加密

字符编码 请求和响应的内容字符集为UTF-8

支持多格式 响应结果支持JSON和XML,可通过Header Accept设置

URL格式 Url为全小写字符,多个单词用下划线分隔

token 请求头中存放当前用户的请求token(JWT格式)

t 请求头中存放当前请求的时间,用于基本的请求时效判断

md5 请求头中存放当前请求的参数验签字符串(查询串排序MD5加密)

响应格式 响应格式只接受ResponseResult,code码需定义在AppHttpCodeEnum

目录
相关文章
|
3天前
|
设计模式 算法 搜索推荐
后端开发中的设计模式应用
在软件开发的浩瀚海洋中,设计模式犹如一座座灯塔,为后端开发者指引方向。本文将深入探讨后端开发中常见的设计模式,并通过实例展示如何在实际项目中巧妙应用这些模式,以提升代码的可维护性、扩展性和复用性。通过阅读本文,您将能够更加自信地应对复杂后端系统的设计与实现挑战。
23 3
|
4天前
|
JavaScript 前端开发 API
深入浅出Node.js后端开发
【9月更文挑战第23天】在这篇文章中,我们将探索Node.js的世界,了解它如何改变后端开发的面貌。通过实际案例和代码示例,我们不仅学习Node.js的核心概念,还会深入探讨它的高级特性,如异步编程、事件驱动模型以及微服务架构的应用。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和实用技能,帮助你构建更高效、可扩展的后端系统。
35 19
|
2天前
|
JavaScript 开发者
深入理解Node.js事件循环及其在后端开发中的应用
【8月更文挑战第57天】本文将带你走进Node.js的事件循环机制,通过浅显易懂的语言和实例代码,揭示其背后的工作原理。我们将一起探索如何高效利用事件循环进行异步编程,提升后端应用的性能和响应速度。无论你是Node.js新手还是有一定经验的开发者,这篇文章都能给你带来新的启发和思考。
|
2天前
|
存储 运维 负载均衡
后端开发中的微服务架构实践与思考
本文旨在探讨后端开发中微服务架构的应用及其带来的优势与挑战。通过分析实际案例,揭示如何有效地实施微服务架构以提高系统的可维护性和扩展性。同时,文章也讨论了在采用微服务过程中需要注意的问题和解决方案。
|
1天前
|
Web App开发 缓存 JavaScript
深入浅出Node.js后端开发
【9月更文挑战第26天】本文将引导你了解Node.js的基本原理,并通过实际案例展示如何在后端开发中应用它。我们将从Node.js的核心概念讲起,逐步深入到构建一个完整的后端服务,最后探讨如何优化你的Node.js应用。准备好让你的开发技能更上一层楼了吗?让我们一起潜入Node.js的世界!
|
7天前
|
设计模式 算法 搜索推荐
后端开发中的设计模式应用
在软件开发的浩瀚海洋中,设计模式犹如灯塔一般指引着方向。它们不是一成不变的规则,而是前人智慧的结晶。本文将深入探讨几种在后端开发中常用的设计模式,如单例、工厂、观察者和策略模式,并阐述如何在实际项目中灵活运用这些模式来提升代码质量、可维护性和扩展性。通过对比传统开发方式与应用设计模式后的差异,我们将揭示设计模式在解决复杂问题和优化系统架构中的独特价值。
|
2天前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
【9月更文挑战第25天】本文将带你了解Node.js的基本概念和核心优势,同时提供一些实际的代码示例来加深理解。无论你是初学者还是有一定经验的开发者,都能通过本文获得有价值的信息和技巧。让我们一起探索Node.js的世界吧!
|
3天前
|
机器学习/深度学习 缓存 NoSQL
深度学习在图像识别中的应用与挑战后端开发中的数据缓存策略
本文深入探讨了深度学习技术在图像识别领域的应用,包括卷积神经网络(CNN)的原理、常见模型如ResNet和VGG的介绍,以及这些模型在实际应用中的表现。同时,文章也讨论了数据增强、模型集成等改进性能的方法,并指出了当前面临的计算资源需求高、数据隐私等挑战。通过综合分析,本文旨在为深度学习在图像识别中的进一步研究和应用提供参考。 本文探讨了后端开发中数据缓存的重要性和实现方法,通过具体案例解析Redis在实际应用中的使用。首先介绍了缓存的基本概念及其在后端系统性能优化中的作用;接着详细讲解了Redis的常见数据类型和应用场景;最后通过一个实际项目展示了如何在Django框架中集成Redis,
|
3天前
|
设计模式 JavaScript Java
后端开发中的设计模式应用
本文将深入探讨后端开发中常见的设计模式,包括单例模式、工厂模式和观察者模式。每种模式不仅会介绍其定义和结构,还会结合实际案例展示如何在后端开发中应用这些模式来优化代码的可维护性与扩展性。通过对比传统方法与设计模式的应用,读者可以更清晰地理解设计模式的优势,并学会在项目中灵活运用这些模式解决实际问题。
|
6天前
|
前端开发 API 开发者
探索后端开发中的RESTful API设计原则
【9月更文挑战第21天】在数字化时代的浪潮中,后端开发扮演着至关重要的角色。本文将深入探讨RESTful API的设计原则,旨在为开发者提供一套清晰、高效的指导方针。我们将从资源的命名与表述开始,逐步引导您理解如何通过统一接口和状态码来构建可扩展且易于维护的API。文章不仅涵盖理论知识,还将通过实际代码示例,展示如何将这些原则应用于日常开发实践中。无论您是初学者还是经验丰富的开发者,这篇文章都将为您的后端开发之旅增添宝贵的知识财富。

热门文章

最新文章