![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件工程
文章平均质量分 94
木小丰~
关注Java研发,不定期分享各种资源,互联网技术分享 博客地址:https://lesofn.com
展开
-
平台化建设思路浅谈
随着业务的不断发展,软件系统不可避免的走向熵增:复杂度越来越高、研发效率越来越差、稳定性逐渐降低等。这时抽象核心能力,走向平台化的道路成为很多系统的首要选择。笔者结合自己的经验,总结了平台化建设的几种思路,希望对大家建设平台化有所帮助。 平台化有以下优点 复用性强:复用核心逻辑,业务功能只在平台之上的业务层建设,降低建设成本; 研发效率高:平台服务作为通用能力基建,业务只需要关注需求,不用关心平台底层复杂能力实现; 降低复杂性:平台都有合理的职责边界和模块划分,对外开发的接口也都直观简洁; 稳定性:平台服原创 2022-02-15 21:33:53 · 1904 阅读 · 0 评论 -
从MVC到DDD的架构演进
DDD这几年越来越火,资料也很多,大部分的资料都偏向于理论介绍,有给出的代码与传统MVC的三层架构差异较大,再加上大量的新概念很容易让初学者望而却步。本文从MVC架构角度来讲解如何演进到DDD架构。 从DDD的角度看MVC架构的问题 代码角度: 瘦实体模型:只起到数据类的作用,业务逻辑散落到service,可维护性越来越差; 面向数据库表编程,而非模型编程; 实体类之间的关系是复杂的网状结构,成为大泥球,牵一发而动全身,导致不敢轻易改代码; service类承接的所有的业务逻辑,越来越臃肿,很容原创 2022-02-15 21:11:43 · 1872 阅读 · 0 评论 -
构建可回滚的应用及上线checklist实践
一、背景 在互联网分布式应用中,如果上线的新版本有bug又不能回滚止损,带来的后果将是灾难性的。因此做到上线可回滚以及上线前的checklist是保证服务稳定性的基本要求。 在简单的场景里直接回滚到上一版个版本即可,但是如果涉及多个上下游和组件、考虑多版本兼容,就需要有好好设计下如何构建可回滚的代码,充分验证后还需要仔细检查上线checklist,最大程度保证线上服务的稳定性。 二、构建向前兼容的代码 回滚指的是程序或数据处理错误,将程序或数据恢复到上一次正确状态的行为。在回滚之后,程序依然能够正常处理,称原创 2021-11-22 10:16:42 · 1565 阅读 · 0 评论 -
Maven依赖冲突问题排查经验
Maven依赖冲突问题排查经验 一、背景 在日常的开发中,排查问题是一个合格Java开发者的的基本能力。对于常见的NullPointerException,NoClassDefFoundError等问题一般通过google直接就能找到答案。 不过还有一些异常情况不是那么直观,google一般搜不到有效的信息,就需要深入研究排查。新人遇到这类问题,往往一脸懵逼,不知如何下手,请教高手,高手如果只是简单指导一个方向,新人踩过几个坑没解决后会更加沮丧。甚至怀疑自己遇到一个神秘的无法解决的bug。有经验的开发往往也原创 2021-11-20 21:57:28 · 669 阅读 · 0 评论 -
Gradle最佳实践
一、Gradle相比Maven的优势 配置简洁 Maven是用pom.xml管理,引入一个jar包至少5行代码,Gradle只需要一行。2. 构建速度快 Gradle支持daemon方式运行,启动速度快,同时有基于daemon的增量构建,充分利用JVM的运行时优化,和缓存数据构建速度相比Maven快很多。3. 更好的灵活性、扩展性 Gradle 相对于 Maven 等构建工具, 其提供了一系列的 API 让我们有能力去修改或定制项目的构建过程。### 二、基本配置1. 设置本地仓库地址 默原创 2021-01-13 10:26:40 · 2615 阅读 · 0 评论 -
Java后端模板引擎对比
一、什么是模板引擎 模板引擎是为了解决用户界面(显示)与业务数据(内容)分离而产生的。他可以生成特定格式的文档,常用的如格式如HTML、xml以及其他格式的文本格式。其工作模式如下: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YLu64IS7-1608214617606)(https://blogpic.chekuspace.com/image-20201214142214449.png)]## 二、java常用的模板引擎有哪些jsp:是一种动态网页开发技术。它使用JSP原创 2020-12-17 22:17:20 · 2906 阅读 · 0 评论 -
美团 GIT Commit Log规范
一、背景 Git每次提交代码都需要写commit message,一般来说,commit message应该清晰明了,说明本次提交的目的,具体做了什么操作等。但是在日常开发中,开发者提交的的commit message千奇百怪,中英文混合使用,这就导致后续代码维护成本特别大,有时自己都不知道自己的fix bug修改的是什么问题。基于以上这些问题,我们希望通过某种方式来监控用户的git commit message,让规范更好的服务于质量,提高大家的研发效率。 二、约定 所有项目的Commit Log的格式精原创 2020-12-15 20:40:27 · 767 阅读 · 0 评论