过去一年里我们团队做了大量的老系统重构和迁移,其中有大量的代码属于流水账代码。通常能看到是开发在对外的API接口里直接写业务逻辑代码,或者在一个服务里大量的堆接口,导致业务逻辑实际无法收敛,接口复用性比较差。       
# Java代码Delegate ## 简介 在Java开发中,Delegate是一种通用的设计模式,用于将业务逻辑与底层实现分离。Delegate充当了业务逻辑与数据访问之间的桥梁,负责将请求转发给底层的服务,并处理返回结果。 ## 为什么需要Delegate 在传统的软件开发中,业务逻辑和数据访问通常被耦合在一起。这种耦合导致了代码的臃肿和难以维护。当需要修改业务逻辑或底层实现时
原创 2023-08-06 10:59:42
470阅读
作者:Stack Huang 很多团队都有这个问题,一个项目的代码本来开始设计得好好的,一段时间以后,代码就会变得难以理解,难以维护,难以修改。为什么?我一直在思考这个问题。我们先看一个人的情况。1.程序员的成长新手的代码新手的代码没有经验,基本不考虑代码设计,代码规模稍稍大一点则自己就乱了。进阶者的代码小规模的时候大规模的时候进阶者已经知道如何设计代码,懂得代码规则,但一般局限于一个模块。
1)java服务器端的封装:BaseResult类的封装,特别好用; 2)SpringMVC注解的使用,每个注解的含义; 3)判断提交的表达数据是否为空; 4)调用service代码; 5)把json对象转化成字符串并返回。
## 如何实现Java controller代码 ### 流程图 ```mermaid flowchart TD A(接收请求) --> B(调用service) B --> C(处理业务逻辑) C --> D(返回结果) ``` ### 步骤 | 步骤 | 操作 | | ---- | ---- | | 1 | 接收请求,并调用service | | 2 |
原创 2024-06-29 05:25:04
22阅读
# 如何实现Java代码的Core 在软件开发中,核心(Core Layer)通常用于处理核心业务逻辑,它是软件结构的基石,确保系统稳健、高效地运行。对于刚入行的开发者来说,理解和实现Java的Core并不简单,但只要掌握流程和基本的代码结构,逐步深入就能轻松实现。 ## 实现Core的流程 为了帮助你更好地理解实现Java代码Core的过程,以下是一个清晰的步骤表格: | 步骤
原创 10月前
76阅读
持久和控制器的封装在平时开发中,会有很多单表或者多表的增删改查功能,仔细看会发现,持久和控制器的代码基本差不多。如果我们把持久和控制器增删改查这种重复性高的代码全部提取出来,做一个小封装,这样在开发中是不是就可以减少很多代码量了。从而提高开发效率。 这里案例持久使用的是Spring-Data-Jpa新建一个SpringBoot项目,选择需要使用到的依赖。项目中所有的依赖pom.x
转载 2024-10-19 13:51:16
28阅读
第一部分: 处理代码的细节(代码的表面)处理代码的细节,主要分为如下的几个方向,check:善于防守, 考虑代码的健壮性.好的样式.精心布局.为文件和函数以及各部分起个好名字.良好的注释.错误处理,处理好可能会出现的错误.保证不崩溃.逻辑清晰,可理解.1. 防御性防御性的诱因:恶意用户客户端错误的使用运行环境不完整外部运行库问题如果可以使用函数局部变量,就不要使用全局变量.如果能使用循环体内的变量
转载 2023-10-16 22:25:57
159阅读
背景说起应用分层,大部分人都会认为这个不是很简单嘛 就controller,service, mapper三。看起来简单,很多人其实并没有把他们职责划分开,在很多代码中,controller做的逻辑比service还多,service往往当成透传了,这其实是很多人开发代码都没有注意到的地方,反正功能也能用,至于放哪无所谓呗。这样往往造成后面代码无法复用,层级关系混乱,对后续代码的维护非常麻烦。的
一个完整的后端请求由 4 部分组成:接口地址(也就是 URL 地址)请求方式(一般就是 get、set,当然还有 put、delete)请求数据(request,有 head 跟 body)响应数据(response)当前解决以下 3 个问题:当接收到请求时,如何优雅的校验参数返回响应数据该如何统一的进行处理接收到请求,处理业务逻辑时抛出了异常又该如何处理1、Controller 参数接收基础了
作者简介:于航,PayPal Senior Software Engineer,在 PayPal 上海负责 Global GRT 平台相关的技术研发工作。曾任职于阿里巴巴、Tapatalk 等企业。freeCodeCamp 上海社区负责人。研究领域主要为前端基础技术架构、Serverless、WebAssembly、LLVM 及编译器等相关方向。说到 Web 前端开发,我们首先能够想到的是浏览器
在复习设计模式的知识点,首先复习的是单一职责原则。这个原则本身理解简单,实践却并不容易,需要在编码和架构设计的过程中,不仅对代码本身做的事了解,还需要对业务有总体了解,这样才知道怎么划分职责,服务化的过程中怎么拆分服务。之前看过梁桂钊写过类似的东西,记不起来了,现在再去看看。我的目标是:弄明白应该如何拆分类或者服务,有没有具体的最佳实践或者指导原则。分层思想,将系统横向分割,根据业务职责划分,比如
PCB线路板三防漆——盐雾测试完成后如何判断品质?盐雾腐蚀是一种常见的很有破坏性的大气腐蚀,特别对应用在与海洋、盐碱环境的PCB板三防漆,盐雾腐蚀验证尤其重要。Pcb板三防漆做完盐雾测试后,很多人或许不知道如何去评判产品是否合格,今天小编就和大家分享一些评判方法,具体操作如下:一、评级法 Pcb板三防漆盐雾测试完成后,将PCB板表面的盐结晶用流动的清水洗掉,在光照良好的环境下,用肉眼仔细观察产品表
重要的核心代码,是不希望被非核心成员,或者新招来的程序接触到的。否则,招个新程序,人家试用期没过,反倒把你代码拷走了,回头想攻击、破解、贩卖,都是分分钟的事儿。这种事儿,我已经见过不止一次了。本文就讲一下,如何去做代码保护。防止核心(底层)代码泄露。代码保护的基本需求:1,不影响被防范的成员(比如新程序员)工作。让其能正常运行、调试、查看日志等。2,对核心代码完全封死,需要保护的部分,完全不可见。
转载 2024-05-30 08:40:37
23阅读
JAVA代码层次; 阿里推荐:    开放接口:可直接封装 Service 方法暴露成 RPC 接口;通过 Web 封装成 http 接口;进行 网关安全控制、流量控制等。 终端显示:各个端的模板渲染并执行显示的。当前主要是 velocity 渲染,JS 渲染, JSP 渲染,移动端展示等Web :主要是对访问控制进行转发,各类基本参数校验,或者不复
转载 2023-06-21 22:35:26
156阅读
        今天,我学习了Java的流程控制语句,那么我们的Java学习也是逐渐步入正轨,所以我们下面的代码量就不再和之前的HelloWorld语句一样了,学习过之后,我觉得Java的逻辑性和流程控制是特别严谨的一件事。一、顺序结构;        1、顺序结构就是根据代码
  首先这是现在最基本的分层方式,结合了SSH架构。model就是对应的数据库表的实体类。Dao是使用了Hibernate连接数据库、操作数据库(增删改查)。Service:引用对应的Dao数据库操作,在这里可以编写自己需要的代码(比如简单的判断)。Action:引用对应的Service,在这里结合Struts的配置文件,跳转到指定的页面,当然也能接受页面传递的请求数据,也可以
转载 2024-03-01 11:30:30
35阅读
最近无锡出现了疫情…好多事都被打乱了,半夜11点多出来做核酸本来非常不开心,但是看到大白们后突然就释怀了,不得不说他们更辛苦,也理应更气愤,一弄就是整个通宵,致敬每一位因疫情而身不由己的天使们…加油…前言在上一章节中我们讲述了如何给函数与方法进行规范化的处理(上一章节地址:《代码规范》如何写出干净的代码(二)函数与方法),那么在这一章节,则是要主要对代码深层嵌套的问题做一些分享和处理;耐心看完,你
1、背景说起应用分层,大部分人都会认为这个不是很简单嘛 就controller,service, mapper三。看起来简单,很多人其实并没有把他们职责划分开,在很多代码中,controller做的逻辑比service还多,service往往当成透传了,这其实是很多人开发代码都没有注意到的地方,反正功能也能用,至于放哪无所谓呗。这样往往造成后面代码无法复用,层级关系混乱,对后续代码的维护非常麻烦
# 如何实现 Java 项目的 DAO 在现代 Java 开发中,DAO(Data Access Object)是一种重要的设计模式,负责从数据库中获取数据并将其转化为 Java 对象。对于初入行的小白,掌握 DAO 的实现是基础之一。本文将通过流程、代码示例、以及状态图的形式来帮助你理解如何实现 DAO 。 ## 1. 实现 DAO 的流程 在实现 DAO 之前,我们需要明确整
原创 8月前
84阅读
  • 1
  • 2
  • 3
  • 4
  • 5