脚手架介绍

1. 代码 & 板书仓库📚

链接:后续更新

2. 概念🔍

在 Java 开发中,脚手架 (Scaffolding) 是一种通过自动化工具生成项目基础结构和样板代码的技术。它类似于建筑工地中的 "脚手架"🏗️,为开发者快速搭建项目框架,避免重复劳动。

2.1 作用

  1. 提高开发效率:通过自动生成基础代码,减少手动创建文件和编写重复代码的时间。
  2. 统一项目结构:遵循最佳实践,生成标准化的项目结构,便于团队协作和项目维护。
  3. 减少错误:自动生成的代码经过验证,减少了人为错误。
  4. 快速原型开发:可以快速搭建起一个可运行的项目原型,便于演示和早期测试。
  5. 集成场景最佳实践:通常集成了日志、配置、测试框架等,帮助开发者遵循行业标准。

2.2 封装

"脚手架封装 " 通常指的是在项目启动阶段,通过定制化工具或模板为团队搭建一套标准化的项目基础框架。

2.2.1 封装目标:
  1. 统一技术栈:固化团队技术选型 (如 Spring Cloud Alibaba + MyBatis-Plus + Redis)。
  2. 标准化规范:目录结构、代码风格 (Checkstyle)、日志格式 (Logback)、异常处理等。
  3. 沉淀最佳实践:集成通用模块 (用户认证、日志追踪、监控上报)。
  4. 提升效率:一键生成 CRUD 代码、自动集成中间件配置。
2.2.2 封装内容:
  1. 基础项目结构封装:标准化目录树
  2. 依赖管理封装:锁定所有第三方依赖版本 (避免冲突)
  3. 通用代码模块封装:封装团队通用组件,异常处理
  4. 自动化生成工具封装:定制代码生成器
  5. 基础设施集成:监控,日志,安全,文档

在 C++ 方面很多大厂都会封装一套自己的库和组件,虽然名字不叫脚手架,但是本质上都是工程化的最佳实践👏,我们这里也是基于脚手架的功能和思想,将一些现有的场景解决方案打包封装到一起,生成一个项目的常见功能库,应用于不同的项目中,避免重复造轮子🛞,帮助开发者减少代码重复,从而加快开发进程提高工作效率。

3. 封装📦

本次 C++ 脚手架的封装,我们计划了比较常用的第三方库,以及典型中间件 SDK 进行封装打包,其功能涵盖了配置解析、网络通信、序列化、测试框架、日志输出、音视频处理、数据存储管理等多个方面,具体如下:

3.1 基础功能库​

名称 ​ 说明 ​
gflags ​ 程序参数配置解析库 ​
spdlog ​ 日志输出库 ​
gtest ​ 单元测试框架 ​
jsoncpp ​ json 格式序列化库 ​
protobuf ​ protobuf 格式序列化库 ​
ffmpeg ​ 音视频处理库 ​
httplib ​ HTTP 服务器搭建库 ​
websocketpp ​ Websocket 服务器搭建库 ​
brpc ​ rpc 客户端 & 服务器库 ​

3.2 中间件及客户端 SDK​

名称 ​ 说明 ​ 客户端 SDK ​
aliyun-sms ​ 阿里云短信服务 ​ alibabacloud ​
etcd ​ 键值对存储中间件 ​ etcd-api-v3 ​
rabbitmq ​ 消息队列中间件 ​ amqp-cpp ​
fastdfs ​ 文件分布式存储中间件 ​ fastdfs-api ​
mysql ​ 关系型数据库中间件 ​ orm 框架 odb ​
redis ​ 键值对存储中间件 ​ redis++ ​
elasticsearch ​ 搜索引擎中间件 ​ elasticlient ​
相关推荐
凯瑟琳.奥古斯特2 小时前
力扣1008:前序重建BST
开发语言·c++·算法·leetcode·职场和发展
Alvin's Tech Blog3 小时前
内存泄漏会导致操作系统永久丢失内存吗?它会导致应用程序崩溃吗?
c++·内存管理·内存泄漏
会周易的程序员3 小时前
使用 LuaBridge 封装 C++ 日志库 microLog 为 Lua 模块
c++·物联网·junit·lua·日志·iot·aiot
wbs_scy3 小时前
仿 muduo 高并发服务器项目:从 timerfd 到时间轮实现定时任务机制
linux·服务器·c++
Darkwanderor4 小时前
Linux进程优先级操作
linux·运维·c语言·c++
智者知已应修善业4 小时前
【P12159蓝桥杯数组翻转】2025-4-24
c语言·c++·经验分享·笔记·算法·蓝桥杯
盐焗鹌鹑蛋5 小时前
【C++】多态
java·jvm·c++
会周易的程序员5 小时前
microLog 的 log_reader 架构解析:嵌入式日志检索引擎的设计之道
c++·物联网·架构·日志·iot·aiot
汉克老师6 小时前
GESP2026年6月认证C++七级( 第一部分选择题(8-15))精讲
c++·dfs·bfs·哈希·二分算法·gesp7级·网格dp
zh_xuan6 小时前
c++ Expected用法
开发语言·c++·expected