2025/2/12
665

这篇文章源于工作中的一个项目,2021年,我负责汇川工业机器人应用软件的基础架构重构,当时单元测试是重构工作的核心环节之一,从无法进行单元测试到最终60%以上的行覆盖率,过程中自己也有非常多的收获,于是将其整理成文,希望对计划开展和正在开展单元测试的同学有所帮助。
2025/3/17
97

原型模式非常简单,用一句话既可概括:以一个已存在的对象作为原型,快速克隆产生出新的对象。一些对象的构造逻辑包含复杂的过程,比如I/O操作、网络通信、第三方交互等,通过原型模式可以跳过这些过程,高效的克隆出目标对象。
2025/3/12
146

工厂模式的核心目的是将对象的创建与使用分离,我们习惯于在构造函数中进行一系列对象的初始化甚至逻辑处理,如果仔细推敲,会发现其实并不符合常理。如果把汽车的发动机当作一个对象,我们向发动机传入设计图纸,然后发动机自己把自己生产了出来。是的,发动机自己生产了自己,是不是感觉有些怪异?其实现实生活中的场景更符合逻辑,把图纸送到发动机生产工厂,由工厂完成发动机的生产制造。在软件开发中,大多数简单对象,并不需要使用工厂,但当一个对象的构造过程相对复杂、易变时,就需要考虑使用工厂将对象的创建过程解耦了。
2025/3/4
237

依赖注入(DI)与控制反转(IoC)可能是一些开发小伙伴耳熟但又不能详的两个词,经常看到它们的名字,但又不理解。这两个词来源于英文直译,看似高深莫测,其实非常简单,并且在一些开发场景中扮演着不可或缺的角色,比如单元测试离不开依赖注入,IoC容器是插件框架的最佳拍档等,本文尝试以最简单的方式阐述这两种思想在开发中的应用。
2025/2/12
161

在上一篇文章《gRPC基础:C++服务端与客户端代码示例》中以从0到1的入门视角,详细介绍了gRPC的编译安装、编写proto文件、以及根据proto文件生成服务端与客户端的代码示例。但还遗留了一个非常重要的场景未讨论,它就是观察者模式,因此本文专门分析和演示如何通过gRPC实现很多高级编程语言都具备的观察者模式。
2025/2/3
278

测试驱动开发(TDD:Test Driven Development)是敏捷开发中的一项核心实践,推崇通过测试来驱动整个开发的进行。TDD有别于传统“先编码,后测试”的开发过程,而是要求在编写业务代码之前,先编写测试用例。TDD的概念大致在上世纪90年代随着极限编程(XP:Extreme Programming)提出,但在敏捷开发已大行其道的今天,TDD仍未普及,对其也是褒贬不一,存在一定争议。本文主要根据实际项目中的痛点,围绕广义ATDD的思想,探讨如何通过测试前置解决项目中存在的问题。
2025/1/21
421

RPC全称Remote Procedure Call(远程过程调用),它能让调用远端的函数就像调用本地函数一样容易。gRPC就是Google开发的RPC,软件巨头们几乎都开发过RPC框架,像微软的.Net Remoting、WCF,Fackbook的Thrift,阿里的Dubbo以及互联网兴起时的WebService等。但从性能、适用范围、流行程度多个维度来看,截止发文时止,gRPC目前全面领先于其它框架。
2025/1/20
409

Zabbix是一个基于WEB界面的跨平台系统资源监控开源平台,目标监控系统支持Linux、Windows NT4.0、 Windows (2000/2003/XP/Vista)、Free BSD、Open BSD、Solaris、HP-UX、AIX、 OS X、Tru64/OSF1等。
2025/1/20
273

Docker本身是一款为Linux开发的轻量级容器,并不支持在Windows中直接运行。但Docker官方提供了Docker Desktop可视化工具,结合WSL,可以方便的在Windows中运行Docker。本文并不介绍Docker的相关知识,仅描述了Docker在Windows中安装配置的过程。
热门文章
UML用例图-UML Use Case Diagram
2024/7/12
1484
UML类图-UML Class Diagram
2024/8/6
834
单元测试从入门到精通
2025/2/12
665
gRPC基础:C++服务端与客户端代码示例
2025/1/21
421
Zabbix:开源的跨平台系统监控工具
2025/1/20
409
WSL:在Windows中使用Linux
2025/1/17
319
测试驱动开发(TDD)浅析
2025/2/3
278
在Windows中使用Docker
2025/1/20
273
依赖注入(DI)与控制反转(IoC)
2025/3/4
237
gRPC进阶:通过stream实现观察者模式
2025/2/12
161