# PerfectFramework **Repository Path**: yupeng_zhang/perfect-framework ## Basic Information - **Project Name**: PerfectFramework - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-28 - **Last Updated**: 2026-07-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 完美框架(Perfect Framework) 可复用的 C++23 框架库脚手架,采用**依赖倒置四层架构**,并在应用层落地 DCI **Context**。 ## 架构 | 层 | 命名空间 | CMake Target | 依赖 | |---|---|---|---| | 领域 | `pf::domain` | `pf_domain` | 无 | | 应用 | `pf::app` | `pf_app` | → domain | | 基础 | `pf::base` | `pf_base` | → app, domain | | 用户接口 | `pf::ui` | `pf_ui` | → app, domain, base | 硬约束: - `pf_domain` / `pf_app` **不得**依赖 `pf_base` / `pf_ui` - 仓储、事件总线等端口定义在 domain,实现放在 base - DCI Context(如 `CreateOrderContext`)位于 `pf::app::context` - 聚合目标:`pf::perfect`(一次链接全层) 业务侧入口适配器(CLI)可依赖 base 以获取日志等技术组件。 ## 构建 需要:CMake ≥ 3.25、支持 C++23 的编译器(已在 VS 2022 验证)。 ```powershell $cmake = "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" & $cmake -S . -B build -G "Visual Studio 17 2022" -A x64 & $cmake --build build --config Release ``` 选项: - `PF_BUILD_TESTS`(默认 ON) - `PF_BUILD_EXAMPLES`(默认 ON) GoogleTest 经 FetchContent 从 Gitee 镜像拉取:`https://gitee.com/mirrors/googletest.git`。 ## 测试 ```powershell ctest --test-dir build -C Release --output-on-failure ``` ## 最小示例 ```powershell .\build\examples\Release\pf_minimal_example.exe o-1 42 .\build\examples\Release\pf_minimal_example.exe o-1 -1 ``` ## 如何扩展 1. **新领域概念**:放在 `include/pf/domain/` 2. **新端口(接口)**:放在 `include/pf/domain/ports/`,实现放在 `include/pf/base/` 3. **新用例**:在 `pf::app` 增加 Context(角色协作)或轻量 ApplicationService(简单命令) 4. **新入口**:在 `pf::ui` 增加适配器,组装时在 `main` 注入 base 实现 ## 文档 - 设计规格:`docs/superpowers/specs/2026-07-28-perfect-framework-design.md` - 实现计划:`docs/superpowers/plans/2026-07-28-perfect-framework.md`