docs(core): 对齐 Core 模块文档入口

- 更新 Core 与 Core.Abstractions README 的目录映射和 XML 阅读入口

- 重写 Core Abstractions 页面,改为契约边界与最小接入路径说明

- 补充 Core landing page、API 参考入口和 ai-plan 跟踪记录
This commit is contained in:
gewuyou 2026-04-22 15:32:22 +08:00
parent cc49b8638f
commit 704fdaa2c8
7 changed files with 160 additions and 201 deletions

View File

@ -2,6 +2,8 @@
`GFramework.Core.Abstractions` 承载 `Core` 运行时对应的接口、枚举和值对象,用来定义跨模块协作边界。
它只描述契约,不提供默认的架构、事件、状态、资源或 IoC 实现;这些实现都在 `GFramework.Core` 中。
## 什么时候单独依赖它
- 你在做插件、适配层或扩展包,只想依赖契约,不想把完整运行时拉进来
@ -20,23 +22,17 @@
## 契约地图
| 目录 | 作用 |
| 目录 | 作用 |
| --- | --- |
| `Architectures/` | `IArchitecture`、模块、阶段监听与服务管理契约 |
| `Command/` / `Query/` | 旧版命令与查询执行器接口 |
| `Controller/` | `IController` |
| `Events/` | 事件契约、解绑接口与传播上下文 |
| `Model/` / `Systems/` / `Utility/` | 核心组件接口 |
| `State/` / `StateManagement/` | 状态机、Store、reducer、selector 契约 |
| `Property/` | `IBindableProperty` 与只读属性接口 |
| `Resource/` | 资源管理与释放策略契约 |
| `Localization/` | 本地化表、格式化与异常类型 |
| `Logging/` | logger、log entry、factory 相关契约 |
| `Ioc/` | `IIocContainer` |
| `Lifecycle/` | 初始化 / 销毁生命周期契约 |
| `Coroutine/` | 时间源、yield 指令与协程状态枚举 |
| `Pause/` | 暂停栈、token 与状态事件 |
| `Storage/` / `Serializer/` / `Versioning/` | 通用存储、序列化与版本化契约 |
| `Architectures/` `Lifecycle/` `Registries/` | `IArchitecture`、上下文、模块、服务模块、阶段监听、注册表基类与生命周期契约 |
| `Bases/` `Controller/` `Model/` `Systems/` `Utility/` `Rule/` | 组件角色接口、优先级 / key 值对象、上下文感知约束与扩展边界 |
| `Command/` `Query/` `Cqrs/` | 旧版命令 / 查询执行器接口,以及 `ICqrsRuntime` 这类新请求模型接线契约 |
| `Events/` `Property/` `State/` `StateManagement/` | 事件总线、解绑对象、可绑定属性、状态机、Store / reducer / middleware 契约 |
| `Coroutine/` `Time/` `Pause/` `Concurrency/` | 协程状态、时间源、暂停栈、键控异步锁和统计对象 |
| `Resource/` `Pool/` `Logging/` `Localization/` | 资源句柄、对象池、日志、日志工厂、本地化表与格式化契约 |
| `Configuration/` `Environment/` | 配置管理器、环境对象与运行时环境访问契约 |
| `Data/` `Serializer/` `Storage/` `Versioning/` | 数据装载、序列化、存储与版本化契约 |
| `Enums/` `Properties/` | 架构阶段枚举,以及架构 / logger 相关属性键 |
## 采用建议
@ -44,8 +40,18 @@
- 若你只需要对接口编程,可以仅引用本包,再在应用层自行提供实现
- 若你在写上层模块,优先把公共契约放在 `*.Abstractions`,实现放在对应 runtime 包
## 重点 XML 关注点
如果你在做契约审计、模块拆分或测试替身,优先看这些类型族的 XML 文档:
- 架构与模块入口:`IArchitecture``IArchitectureContext``IServiceModule`
- 运行时基础设施:`IIocContainer``ILogger``IResourceManager``IConfigurationManager`
- 状态与并发能力:`IStateMachine``IStore``IAsyncKeyLockManager``ITimeProvider`
- 迁移与组合边界:`ICommandExecutor``IQueryExecutor``ICqrsRuntime`
## 对应文档
- 抽象接口栏目:[`../docs/zh-CN/abstractions/index.md`](../docs/zh-CN/abstractions/index.md)
- Core 抽象页:[`../docs/zh-CN/abstractions/core-abstractions.md`](../docs/zh-CN/abstractions/core-abstractions.md)
- Core 运行时入口:[`../GFramework.Core/README.md`](../GFramework.Core/README.md)
- API 参考入口:[`../docs/zh-CN/api-reference/index.md`](../docs/zh-CN/api-reference/index.md)

View File

@ -10,9 +10,10 @@
- `Architecture``ArchitectureContext`
- `Model` / `System` / `Utility` 运行时
- 旧版 `Command` / `Query` 执行器
- 事件、属性、状态机、状态管理
- 资源、日志、协程、并发、环境与本地化
- 旧版 `Command` / `Query` 执行器,以及与新版 `CQRS` runtime 的接线入口
- 事件、属性、状态机、状态管理、规则与上下文扩展
- 资源、对象池、日志、协程、并发、环境、配置与本地化
- 服务模块管理、时间提供器与默认的 IoC 容器适配
它不负责:
@ -37,6 +38,7 @@
| 目录 | 作用 |
| --- | --- |
| `Architectures/` | 架构入口、上下文、生命周期、模块安装与组件注册 |
| `Services/` | 服务模块注册、生命周期协调与模块管理 |
| `Command/` | 旧版命令执行器与同步 / 异步命令基类 |
| `Query/` | 旧版查询执行器与同步 / 异步查询基类 |
| `Events/` | 事件总线、事件作用域、统计与过滤 |
@ -44,12 +46,17 @@
| `State/` | 状态机与状态切换事件 |
| `StateManagement/` | Store、selector、middleware 与状态诊断 |
| `Coroutine/` | 协程调度、快照、统计与优先级 |
| `Time/` | 默认时间提供器与协程时间源 |
| `Resource/` | 资源缓存、句柄和释放策略 |
| `Pool/` | 对象池系统与常用池化辅助实现 |
| `Logging/` | logger、factory、配置与组合日志器 |
| `Ioc/` | 基于 `Microsoft.Extensions.DependencyInjection` 的容器适配 |
| `Concurrency/` | 键控异步锁与统计 |
| `Configuration/` | 配置管理器与配置监听解绑对象 |
| `Environment/` | 运行环境对象与上下文环境扩展 |
| `Pause/` | 暂停栈和暂停范围 |
| `Localization/` | 本地化表与格式化入口 |
| `Rule/` | `ContextAwareBase` 等上下文感知基类 |
| `Functional/` | `Option``Result` 等轻量函数式工具 |
| `Extensions/` | 上下文与集合等扩展方法 |
@ -80,5 +87,7 @@ dotnet add package GeWuYou.GFramework.Core.Abstractions
## 对应文档
- Core 栏目:[`../docs/zh-CN/core/index.md`](../docs/zh-CN/core/index.md)
- Core 抽象层:[`../docs/zh-CN/abstractions/core-abstractions.md`](../docs/zh-CN/abstractions/core-abstractions.md)
- API 参考入口:[`../docs/zh-CN/api-reference/index.md`](../docs/zh-CN/api-reference/index.md)
- CQRS[`../docs/zh-CN/core/cqrs.md`](../docs/zh-CN/core/cqrs.md)
- 入门指南:[`../docs/zh-CN/getting-started/index.md`](../docs/zh-CN/getting-started/index.md)

View File

@ -33,12 +33,16 @@
- 在根 `README.md` 中补齐 `GFramework.Ecs.Arch.Abstractions` 入口,并声明内部支撑模块 owner
- 为抽象接口栏目补齐 `Ecs.Arch.Abstractions` 页面与 sidebar 入口
- 将 `docs/zh-CN/api-reference/index.md` 重写为模块到 XML / README / 教程的阅读链路入口
- 为 `GFramework.Core/README.md` 补齐 `Services``Configuration``Environment``Pool``Rule``Time` 等当前目录映射
- 为 `GFramework.Core.Abstractions/README.md` 补齐契约族地图与 XML 阅读重点
- 将 `docs/zh-CN/abstractions/core-abstractions.md` 从过时的接口摘录页重写为契约边界 / 包关系 / 最小接入路径页面
- 为 `docs/zh-CN/core/index.md` 补齐 frontmatter、能力域导航和 API / XML 阅读入口
## Inventory第一版
| 模块族 | 当前状态 | 当前证据 | 下一动作 |
| --- | --- | --- | --- |
| `Core` / `Core.Abstractions` | `已验证` | 根 README、模块 README、`docs/zh-CN/core/**``docs/zh-CN/abstractions/core-abstractions.md`存在 | 进入首轮波次时补 XML 文档 inventory |
| `Core` / `Core.Abstractions` | `入口已收口XML inventory 待补齐` | 根 README、模块 README、`docs/zh-CN/core/**``docs/zh-CN/abstractions/core-abstractions.md`对齐当前目录与采用路径 | 下一恢复点为类型族级 XML 覆盖清单 |
| `Cqrs` / `Cqrs.Abstractions` / `Cqrs.SourceGenerators` | `待重写` | README 已存在;站内入口目前分散在 `docs/zh-CN/core/cqrs.md``docs/zh-CN/source-generators/**` | 在 `Cqrs` 波次里补 dedicated landing / API map 审计 |
| `Game` / `Game.Abstractions` / `Game.SourceGenerators` | `已验证` | 根 README、模块 README、`docs/zh-CN/game/**` 和 abstractions 页已存在 | 后续波次补 XML / 教程链路审计 |
| `Godot` / `Godot.SourceGenerators` | `已验证` | 上一轮归档 topic 已完成核心 landing / topic / tutorial 校验 | 进入巡检周期,重点看回漂 |
@ -63,9 +67,11 @@
- `docs/zh-CN/ecs/index.md``docs/zh-CN/ecs/arch.md` 仍保留较多早期表述,本轮只先完成 inventory 与入口补齐
- 缓解措施:把 `Ecs.Arch` 排进前五波次,并把 runtime docs 重写列为该波次的必做项
- XML 文档尚未按模块做全量类型审计
- 缓解措施:下一恢复点先从 `Core` 模块族建立“类型族 -> XML 覆盖状态”清单
- 缓解措施:当前已补 `Core` / `Core.Abstractions` 的 XML 阅读入口;下一恢复点继续建立“类型族 -> XML 覆盖状态”清单
- 新功能分支若修改 README / docs / 公共 API 却不挂文档 topic仍可能回漂
- 缓解措施:将本 topic 作为长期 active topic 保留,并在后续巡检中记录回漂来源
- VitePress 页面不能直接链接到 `docs/` 目录之外的模块 `README.md`
- 缓解措施:站内页面用模块路径文本或站内 API 入口表达,仓库级 README 仍保留仓库文件链接
## 验证说明
@ -75,15 +81,22 @@
- 结果:通过
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/api-reference/index.md`
- 结果:通过
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/core/index.md`
- 结果:通过
- `bash .agents/skills/gframework-doc-refresh/scripts/validate-all.sh docs/zh-CN/abstractions/core-abstractions.md`
- 结果:通过
- `cd docs && bun run build`
- 结果:通过
- 备注:仅保留 VitePress 大 chunk warning无构建失败
- `dotnet build GFramework.Ecs.Arch.Abstractions/GFramework.Ecs.Arch.Abstractions.csproj -c Release -p:RestoreFallbackFolders=`
- 结果:通过
- 备注:`0 Warning(s) / 0 Error(s)`
- `DOTNET_CLI_HOME=/tmp/dotnet-home dotnet build GFramework.Core.Abstractions/GFramework.Core.Abstractions.csproj -c Release -p:RestoreFallbackFolders=`
- 结果:通过
- 备注:`0 Warning(s) / 0 Error(s)`
## 下一步
1. 按波次顺序启动 `Core` / `Core.Abstractions` 的 XML 文档与 API 链路 inventory
1. 继续 `Core` / `Core.Abstractions` 波次,为公开类型族补一份“类型族 -> XML 覆盖状态”清单
2. 在 `Ecs` 波次重写 `docs/zh-CN/ecs/index.md``docs/zh-CN/ecs/arch.md`
3. 为每个模块族补一份“README / landing / tutorials / API reference / XML”对照表持续清零 `P0` / `P1`

View File

@ -18,6 +18,8 @@
- 本轮先做治理基础设施与 inventory不把整个长期计划伪装成单轮完成
- `api-reference` 页面改为“模块 -> README / docs / XML / tutorial”的阅读链路入口避免继续维护失真的伪签名列表
- `Ecs.Arch` family 被列为高优先 backlog抽象层入口已补齐但 runtime docs 仍需按源码重写
- `Core` / `Core.Abstractions` 波次先收口 README、landing page 和 abstractions 页的目录映射,再补显式 XML 覆盖 inventory
- VitePress 站内页面不直接链接仓库根模块 `README.md`;站内仅保留可构建的 docs 链接,模块 README 以文本路径或仓库 README 承接
### 当前验证
@ -25,11 +27,14 @@
- `validate-all.sh docs/zh-CN/abstractions/index.md`:通过
- `validate-all.sh docs/zh-CN/abstractions/ecs-arch-abstractions.md`:通过
- `validate-all.sh docs/zh-CN/api-reference/index.md`:通过
- `validate-all.sh docs/zh-CN/core/index.md`:通过
- `validate-all.sh docs/zh-CN/abstractions/core-abstractions.md`:通过
- 构建校验:
- `cd docs && bun run build`:通过
- `DOTNET_CLI_HOME=/tmp/dotnet-home dotnet build GFramework.Core.Abstractions/GFramework.Core.Abstractions.csproj -c Release -p:RestoreFallbackFolders=`:通过,`0 Warning(s) / 0 Error(s)`
- `dotnet build GFramework.Ecs.Arch.Abstractions/GFramework.Ecs.Arch.Abstractions.csproj -c Release -p:RestoreFallbackFolders=`:通过,`0 Warning(s) / 0 Error(s)`
### 下一步
1. 进入 `Core` / `Core.Abstractions` 波次,先建立 XML 文档覆盖 inventory
1. 继续 `Core` / `Core.Abstractions` 波次,按类型族建立 XML 文档覆盖 inventory
2. 在 `Ecs` 波次重写运行时 docs并把 `Ecs.Arch.Abstractions` 纳入完整模块闭环

View File

@ -1,192 +1,87 @@
---
title: Core Abstractions
description: GFramework.Core.Abstractions 的契约边界、包关系与 XML 阅读重点。
---
# Core Abstractions
> GFramework.Core.Abstractions 核心抽象接口定义
`GFramework.Core.Abstractions``Core` 运行时的契约包。
## 概述
它负责定义架构、生命周期、事件、状态、资源、日志、配置、并发和持久化相关的接口、枚举和值对象,用来建立跨模块协作边界;
默认实现、基类、容器适配和运行时装配则在 `GFramework.Core` 中。
GFramework.Core.Abstractions 包含了框架的所有核心接口定义,这些接口定义了组件之间的契约,实现了依赖倒置和面向接口编程
如果你要开箱即用地使用框架能力,应依赖 `GFramework.Core`;如果你在做扩展包、测试替身、工具层或多模块拆分,才单独消费本包
## 核心接口
## 什么时候单独依赖它
### IArchitecture
- 你在写插件、模块扩展或测试替身,只想依赖接口而不拉入默认运行时
- 你需要让多个程序集共享架构、状态、资源或日志契约
- 你希望把公共边界放进 `*.Abstractions`,而把具体实现留在应用层或宿主层
应用程序架构接口:
## 包关系
- 契约层:`GFramework.Core.Abstractions`
- 运行时实现:`GFramework.Core`
- 常见相邻契约:`GFramework.Cqrs.Abstractions``GFramework.Game.Abstractions`
## 契约地图
| 契约族 | 作用 |
| --- | --- |
| `Architectures/` `Lifecycle/` `Registries/` | `IArchitecture`、上下文、模块、服务模块、阶段监听、注册表与初始化 / 销毁生命周期契约 |
| `Bases/` `Controller/` `Model/` `Systems/` `Utility/` `Rule/` | 组件角色接口、优先级 / key 值对象、上下文感知边界 |
| `Command/` `Query/` `Cqrs/` | 旧版命令 / 查询执行器接口,以及与新版请求模型衔接的运行时契约 |
| `Events/` `Property/` `State/` `StateManagement/` | 事件总线、解绑对象、可绑定属性、状态机、Store / reducer / middleware 契约 |
| `Coroutine/` `Time/` `Pause/` `Concurrency/` | 协程状态、时间源、暂停栈、键控异步锁与统计对象 |
| `Resource/` `Pool/` `Logging/` `Localization/` | 资源句柄、对象池、日志、logger factory、本地化表与格式化契约 |
| `Configuration/` `Environment/` | 配置管理器、环境对象与运行时环境访问契约 |
| `Data/` `Serializer/` `Storage/` `Versioning/` | 数据装载、序列化、存储与版本化契约 |
| `Enums/` `Properties/` | 架构阶段枚举,以及架构 / logger 相关属性键 |
## 最小接入路径
### 1. 只面向契约编程
```csharp
public interface IArchitecture
{
void Initialize();
void Destroy();
T GetModel<T>() where T : IModel;
T GetSystem<T>() where T : ISystem;
T GetUtility<T>() where T : IUtility;
void RegisterModel(IModel model);
void RegisterSystem(ISystem system);
void RegisterUtility(IUtility utility);
}
```
using GFramework.Core.Abstractions.Architectures;
using GFramework.Core.Abstractions.Logging;
### IModel
数据模型接口:
```csharp
public interface IModel
{
void Init();
void Dispose();
IArchitecture Architecture { get; }
}
```
### ISystem
业务逻辑系统接口:
```csharp
public interface ISystem
{
void Init();
void Dispose();
IArchitecture Architecture { get; }
}
```
### IController
控制器接口:
```csharp
public interface IController : IBelongToArchitecture
{
void Init();
void Dispose();
}
```
### IUtility
工具类接口:
```csharp
public interface IUtility
{
}
```
## 事件接口
### IEvent
事件基接口:
```csharp
public interface IEvent
{
}
```
### IEventHandler
事件处理器接口:
```csharp
public interface IEventHandler<TEvent> where TEvent : IEvent
{
void Handle(TEvent @event);
}
```
## 命令查询接口
### ICommand
命令接口:
```csharp
public interface ICommand
{
void Execute();
}
```
### IQuery
查询接口:
```csharp
public interface IQuery<TResult>
{
TResult Execute();
}
```
## 依赖注入接口
### IIocContainer
IoC 容器接口:
```csharp
public interface IIocContainer
{
void Register<TInterface, TImplementation>() where TImplementation : TInterface;
void Register<TInterface>(TInterface instance);
TInterface Resolve<TInterface>();
bool IsRegistered<TInterface>();
}
```
## 生命周期接口
### ILifecycle
组件生命周期接口:
```csharp
public interface ILifecycle
{
void OnInit();
void OnDestroy();
}
```
## 使用示例
### 通过接口实现依赖注入
```csharp
public class MyService : IMyService
public sealed class DiagnosticsFeature
{
private readonly IArchitecture _architecture;
public MyService(IArchitecture architecture)
private readonly ILogger _logger;
public DiagnosticsFeature(IArchitecture architecture, ILogger logger)
{
_architecture = architecture;
_logger = logger;
}
}
```
### 自定义事件
### 2. 什么时候切到运行时包
```csharp
public class PlayerDiedEvent : IEvent
{
public int PlayerId { get; set; }
public Vector2 Position { get; set; }
}
```
下面这些需求都属于 `GFramework.Core` 的职责,而不是本包:
---
- 继承 `Architecture` 并完成默认初始化流程
- 使用 `ContextAwareBase``AbstractModel``AbstractSystem` 等默认基类
- 使用默认的 `CommandExecutor``QueryExecutor``BindableProperty<T>``StateMachine`
- 直接启用默认的 `Microsoft.Extensions.DependencyInjection` 容器适配或资源 / 协程 / 日志实现
**相关文档**
## XML 阅读重点
- [Core 概述](../core/index.md)
- [Architecture](../core/architecture)
- [Events](../core/events)
- [Command](../core/command)
- [Query](../core/query)
如果你在做契约审计、采用设计或扩展适配,优先核对这些类型族的 XML 文档:
- 架构与模块入口:`IArchitecture``IArchitectureContext``IServiceModule`
- 运行时基础设施:`IIocContainer``ILogger``IResourceManager``IConfigurationManager`
- 状态与并发能力:`IStateMachine``IStore``IAsyncKeyLockManager``ITimeProvider`
- 迁移与组合边界:`ICommandExecutor``IQueryExecutor``ICqrsRuntime`
## 阅读顺序
1. 先读本页,确认你是否真的只需要契约层
2. 再看 [`../core/index.md`](../core/index.md) 了解默认运行时怎么组织这些契约
3. 回到模块 README
- `GFramework.Core.Abstractions/README.md`
- `GFramework.Core/README.md`
4. 需要统一导航时,再看 [`../api-reference/index.md`](../api-reference/index.md)

View File

@ -29,7 +29,7 @@ description: GFramework 的 API 阅读入口,按模块映射 README、专题
| 模块族 | 模块 README | 站内入口 | XML 文档关注点 |
| --- | --- | --- | --- |
| `Core` / `Core.Abstractions` | `GFramework.Core/README.md``GFramework.Core.Abstractions/README.md` | [`../core/index.md`](../core/index.md)、[`../abstractions/core-abstractions.md`](../abstractions/core-abstractions.md) | 架构入口、生命周期、命令 / 查询 / 事件 / 状态 / 资源 / 日志契约 |
| `Core` / `Core.Abstractions` | `GFramework.Core/README.md``GFramework.Core.Abstractions/README.md` | [`../core/index.md`](../core/index.md)、[`../abstractions/core-abstractions.md`](../abstractions/core-abstractions.md) | 架构入口、生命周期、命令 / 查询 / 事件 / 状态 / 资源 / 日志 / 配置 / 并发契约 |
| `Cqrs` / `Cqrs.Abstractions` / `Cqrs.SourceGenerators` | `GFramework.Cqrs/README.md``GFramework.Cqrs.Abstractions/README.md``GFramework.Cqrs.SourceGenerators/README.md` | [`../core/cqrs.md`](../core/cqrs.md)、[`../source-generators/index.md`](../source-generators/index.md) | request / notification / handler / pipeline / registry contract |
| `Game` / `Game.Abstractions` / `Game.SourceGenerators` | `GFramework.Game/README.md``GFramework.Game.Abstractions/README.md``GFramework.Game.SourceGenerators/README.md` | [`../game/index.md`](../game/index.md)、[`../abstractions/game-abstractions.md`](../abstractions/game-abstractions.md) | 配置、数据、设置、场景、UI、存储、序列化契约 |
| `Godot` / `Godot.SourceGenerators` | `GFramework.Godot/README.md``GFramework.Godot.SourceGenerators/README.md` | [`../godot/index.md`](../godot/index.md)、[`../source-generators/index.md`](../source-generators/index.md) | 节点扩展、场景 / UI 适配、资源 / 存储 / 日志接入 |

View File

@ -1,3 +1,8 @@
---
title: Core
description: GFramework.Core 与 GFramework.Core.Abstractions 的运行时入口、采用顺序和 XML 阅读导航。
---
# Core
`Core` 栏目对应 `GFramework` 的基础运行时层,主要覆盖 `GFramework.Core``GFramework.Core.Abstractions`,以及与之直接相邻的旧版
@ -29,28 +34,53 @@ dotnet add package GeWuYou.GFramework.Core.Abstractions
`Core` 栏目不是旧版“完整框架教程”的镜像,而是当前实现的入口导航。这里的页面按能力域组织:
- 架构与上下文
- 架构与生命周期
- [architecture](./architecture.md)
- [context](./context.md)
- [lifecycle](./lifecycle.md)
- [async-initialization](./async-initialization.md)
- 组件角色与运行时接入
- [model](./model.md)
- [system](./system.md)
- [utility](./utility.md)
- [environment](./environment.md)
- [extensions](./extensions.md)
- 旧版命令 / 查询执行器与迁移入口
- [command](./command.md)
- [query](./query.md)
- [cqrs](./cqrs.md)
- 核心横切能力
- 状态、事件与规则
- [events](./events.md)
- [property](./property.md)
- [rule](./rule.md)
- [logging](./logging.md)
- [resource](./resource.md)
- [coroutine](./coroutine.md)
- [ioc](./ioc.md)
- 状态与扩展能力
- [state-machine](./state-machine.md)
- [state-management](./state-management.md)
- 运行时支撑能力
- [resource](./resource.md)
- [pool](./pool.md)
- [coroutine](./coroutine.md)
- [pause](./pause.md)
- [localization](./localization.md)
- [configuration](./configuration.md)
- [ioc](./ioc.md)
- 通用辅助能力
- [functional](./functional.md)
- [extensions](./extensions.md)
## XML 与 API 阅读入口
如果你已经知道模块归属,但想确认公开类型的契约边界,建议按下面顺序阅读:
1. 先看模块 README `GFramework.Core/README.md`,确认包关系和目录边界
2. 再看本栏目对应专题页,确认采用顺序、生命周期与推荐接线方式
3. 最后回到源码中的 XML 文档,重点核对这些类型族:
- `Architecture` / `IArchitectureContext`
- `CommandExecutor` / `QueryExecutor`
- `ILogger` / `ILoggerFactory`
- `IResourceManager` / `IConfigurationManager`
- `IAsyncKeyLockManager` / `ITimeProvider`
统一入口见 [`../api-reference/index.md`](../api-reference/index.md)。
## 最小接入路径
@ -104,4 +134,5 @@ public sealed class CounterArchitecture : Architecture
- `GFramework.Core/README.md`
- `GFramework.Core.Abstractions/README.md`
- `docs/zh-CN/api-reference/index.md`
- 仓库根 `README.md`