EventCatalog项目中增强领域语言定义:支持图片嵌入的技术实践
2025-07-04 00:14:30作者:魏献源Searcher
在领域驱动设计(DDD)实践中,统一语言(Ubiquitous Language)是团队沟通的核心基础。EventCatalog作为文档工具,近期在2.19.0版本中实现了对Markdown渲染和图片嵌入的支持,这为技术文档的视觉表达带来了重要升级。
技术背景与需求演进
传统技术文档中,纯文本定义往往难以完整传达复杂概念。特别是在描述领域模型时,示例图片能直观展示:
- 实体关系示意图
- 状态机流程图
- 业务场景示例图
- 系统交互时序图
早期版本中用户只能通过文字描述这些内容,新版本通过Markdown支持解决了这一表达瓶颈。
实现方案解析
核心改进包含两个层面:
-
Markdown渲染引擎集成
在描述字段中完整支持CommonMark规范,包括:- 图片语法
 - 代码块高亮
- 表格渲染
- 内联HTML(需安全过滤)
- 图片语法
-
静态资源管理策略
推荐两种图片存储方案:- 项目内托管
在/static目录建立images/definitions/子目录,使用相对路径引用 - CDN托管
对高频访问资源建议使用云存储服务,但需注意:- 配置CORS策略
- 启用HTTPS
- 设置缓存头
- 项目内托管
最佳实践建议
-
图片优化准则
- SVG优先(适合架构图、流程图)
- PNG用于需要透明底的截图
- 使用
<picture>标签响应式适配
-
文档结构规范
docs/ definitions/ payment.md # 文字定义 static/ images/ definitions/ payment-flow.svg # 配套图片 -
版本控制策略
图片资源应与文档同步版本化,建议:- 将大尺寸二进制文件纳入.gitignore
- 使用Git LFS管理超过1MB的图片
- 在changelog中注明图片变更
技术影响分析
这项改进使得:
- 领域专家能通过视觉元素更准确传递业务概念
- 减少文档维护者需要额外维护的"示例系统"
- 提升新成员理解复杂业务逻辑的效率
- 为未来可能的AR/VR文档形态奠定基础
对于采用EventCatalog的团队,建议在定义核心领域术语时,配套添加可视化素材形成完整的语义表达体系。在微服务架构下,这种图文结合的方式能有效降低跨团队的理解偏差。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0231
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
JoyAI-VL-Interaction-Preview京东开源首个开源、视觉驱动的实时交互模型——它能实时监控视频流,并自主决定何时发言、保持沉默或委托任务。Jinja00
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0150
kornia🐍 空间人工智能的几何计算机视觉库Python02
PaddleParallel Distributed Deep Learning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)C++02
项目优选
收起
暂无描述
Dockerfile
782
5.11 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
892
2.06 K
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
471
473
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
710
1.43 K
deepin linux kernel
C
32
16
Ascend Extension for PyTorch
Python
763
972
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
2.27 K
681
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.11 K
1.15 K
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.04 K
272
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
2.18 K
231