mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-07 00:39:00 +08:00
- 修复 Core、Cqrs、Godot 与 Game 模块中的异常契约、空值校验和线程亲和性问题 - 更新 Settings API 为 ApplyAsync 并同步实现、调用点、测试与中文文档 - 补充 AGENTS.md 中的构建校验、自动提交与分支创建规则 - 整理 Logging、WeakCache 与 Resource 相关实现的行为与文档一致性
GFramework.Core.Abstractions
GFramework.Core.Abstractions 承载 Core 运行时对应的接口、枚举和值对象,用来定义跨模块协作边界。
什么时候单独依赖它
- 你在做插件、适配层或扩展包,只想依赖契约,不想把完整运行时拉进来
- 你需要为测试、编辑器工具或生成器提供替身实现
- 你在做多模块拆分,希望上层只面向接口编程
如果你只是直接使用框架功能,优先安装 GFramework.Core。
包关系
- 契约层:
GFramework.Core.Abstractions - 实现层:
GFramework.Core - 相关扩展:
GFramework.Cqrs.AbstractionsGFramework.Game.Abstractions
契约地图
| 目录 | 作用 |
|---|---|
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/ |
通用存储、序列化与版本化契约 |
采用建议
- 框架消费者通常同时安装
GFramework.Core与GFramework.Core.Abstractions - 若你只需要对接口编程,可以仅引用本包,再在应用层自行提供实现
- 若你在写上层模块,优先把公共契约放在
*.Abstractions,实现放在对应 runtime 包
对应文档
- 抽象接口栏目:
../docs/zh-CN/abstractions/index.md - Core 抽象页:
../docs/zh-CN/abstractions/core-abstractions.md - Core 运行时入口:
../GFramework.Core/README.md