# Wow **Repository Path**: AhooWang/Wow ## Basic Information - **Project Name**: Wow - **Description**: 领域模型即服务 - 基于 DDD & EventSourcing 的现代响应式 CQRS 架构微服务开发框架 - **Primary Language**: Kotlin - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: https://wow.ahoo.me/zh/ - **GVP Project**: No ## Statistics - **Stars**: 371 - **Forks**: 90 - **Created**: 2023-04-16 - **Last Updated**: 2026-09-11 ## Categories & Tags **Categories**: microservice **Tags**: CQRS, 微服务, 领域驱动设计, 响应式编程, 事件驱动 ## README
领域模型即服务
让领域决策显式、可测试、可追溯的响应式 CQRS 与事件溯源框架。
领域驱动 · 事件驱动 · 测试驱动 · 声明式设计 · 响应式
--- ## Wow 提供什么 Wow 把每次写入变成可观察的领域链路: ```text HTTP 命令 → 聚合决策 → 领域事件 → 溯源状态 → 投影 / Saga ``` 你负责定义命令、事件、聚合规则和溯源函数;Wow 提供响应式命令管道、事件持久化、快照、等待阶段、投影、Saga、元数据生成、WebFlux 路由和 Given → When → Expect 测试 DSL。 当业务规则复杂,需要状态历史、多种读模型或跨聚合流程时,这套模型更有价值。若问题只是简单 CRUD,且一个数据库事务已经能完整表达需求,引入事件演进和最终一致性的成本可能得不偿失。 ## 30 分钟首条链路目标 [](https://github.com/new?template_name=wow-project-template&template_owner=Ahoo-Wang) 1. 从 [Wow 项目模板](https://github.com/Ahoo-Wang/wow-project-template)创建或克隆仓库。 2. 运行 `./gradlew :domain:check`,再以文档中的内存配置启动 `./gradlew :server:run`。 3. 按[快速上手](documentation/docs/zh/guide/getting-started.md)发送真实 `CreateDemo` 命令,等待 `SNAPSHOT`,并读取聚合版本 `1` 的状态。 这条路径会同时证明领域测试、生成路由、命令管道、事件溯源、快照等待和版本化状态读取。30 分钟是目标时长:功能链路已经过演练,但尚未测量新开发者首次完成的墙钟时间。若要在已有服务中接入,请改走[接入现有项目](documentation/docs/zh/guide/existing-project.md)。 ## 仓库内的能力证据 | 能力 | 可检查的实现与测试 | | --- | --- | | 聚合决策与事件溯源状态 | [订单与购物车示例](example/example-domain/src/main/kotlin/me/ahoo/wow/example/domain)及其[领域规约](example/example-domain/src/test/kotlin/me/ahoo/wow/example/domain) | | 命令调度、事件持久化、投影与 Saga | [wow-core](wow-core/src/main/kotlin/me/ahoo/wow) | | Given → When → Expect 验证 | [wow-test](test/wow-test/src/main/kotlin/me/ahoo/wow/test) | | 生成的 HTTP 命令与状态路由 | [wow-webflux](wow-webflux/src/main/kotlin/me/ahoo/wow/webflux/route) | | 可选存储、消息、安全与可观测集成 | [wow-spring-boot-starter Feature Capabilities](wow-spring-boot-starter/build.gradle.kts) | | 补偿与恢复操作 | [补偿领域](compensation)与[补偿控制面](documentation/docs/zh/reference/example/compensation.md#补偿控制面) | ## 特性