Files
T
cneicy 25f4cfb82e
Publish UPM package / publish (push) Successful in 2s
Publish NuGet packages / publish (push) Successful in 4m10s
chore: align SDK dependencies and document reusable capabilities
2026-09-29 10:14:39 +08:00

36 lines
1.5 KiB
Markdown

# ShrinkCommand.Integration.App
`ShrinkCommand.Integration.App` 是 `ShrinkCommand` 与 `ShrinkApp.Core` 的桥接层。它的职责很简单:把默认命令服务挂进 `ShrinkApp` 的服务容器里,让项目在进入统一宿主模式后,仍能用熟悉的命令系统,而不需要到处手动拿 `ShrinkCommandRuntime.Default`。
Godot 和普通 .NET 项目安装 `ShrinkSDK.Command.Integration.App`;可打包源码位于 `DotNet~`。
## 当前能力
- 提供原生 `ShrinkCommandAppComponent`,发布 `shrink.service.command`
- 把 `ShrinkCommandRuntime.Default` 包装为 `ShrinkCommandAppService`
- ContextLoader 下由 Starter 组合根装配,服务门面随组件停用可逆注销
- `ShrinkCommandAppInstaller` 仅保留给 ClassicHost 兼容路径,已标记过时
## 使用示例
```csharp
var command = ShrinkApp.ShrinkApp.Services.GetRequired<ShrinkCommand.Integration.App.ShrinkCommandAppService>();
var result = await command.ExecuteAsync(source, "help");
```
## 说明
- 本包不改变 `ShrinkCommand` 的原有 API。
- 静态命令的默认注册仍由 `ShrinkCommandRuntime.Default` 完成。
- 运行时实例命令仍然走 `RegisterCommands(object target)`。
## 可复用能力
<!-- shrink:capabilities -->
Capability: 把命令服务作为 Context 组件和应用服务门面提供
Aliases: 命令宿主 command app
Limits: 退役撤回门面;业务命令仍由 Command 实现
Extension: shrink.service.command 和原生组件
Evidence: [ShrinkCommandAppComponent](Runtime/ShrinkCommandAppComponent.cs)
<!-- /shrink:capabilities -->