Golang利用策略模式优化if…else和switch

都知道大量 if else 对代码维护和设计都及其不友好,即便是你换成 switch 也并不那么理想,这里推荐主要利用策略模式优化。

需求:比如有20个甚至更多的消息模板,每个模板ID 对应要操作都可能不一样,比如文案,参数计算等。如果一个一个去独立写对应函数然后if else继续条件流程调用显得格外鸡肋,那么请用策略模式优化吧。

[Read More]

Git上线tag管理规范设计

1. 如何用 git 打 tag

使用tag标签对重要版本进行标记

当根据项目设计完成所有功能之后,项目就可以进行线上部署了。

为了保留线上项目的历史版本,便于回滚到历史上任意一个上线版本,对于每次进行线上部署,需要使用tag进行管理。

[Read More]

如何防止写出慢SQL之MySQL索引解析

先来给 MySQL 中的 sql 定义个量变

慢 SQL 对数据库的影响,是一个量变到质变的过程,对“量”的把握,就很重要

一台单机 MySQL 数据库,大致处理能力的极限是,每秒一万条左右的简单 SQL,这里的“简单 SQL”,指的是类似于主键查询这种不需要遍历很多条记录的 SQL,这里的一万 TPS 是中位数的经验值,具体还是要看咋们的服务器是否给力。

[Read More]

UML时序图实践

什么是UML

统一建模语言(Unified Modeling Language,UML)。

UML 是一种编制软蓝图的标准化语言,它的目标之一就是为开发团队提供标准通用的设计语言来开发和构建计算机应用。

UML 提出了一套 IT 专业人员期待多年的统一的标准建模符号。通过使用UML,这些人员能够阅读和交流系统架构和设计规划。

UML支持面向对象的技术,能够准确的方便地表达面向对像的概念,体现面向对象的分析和设计风格.

[Read More]