快速开始
前置条件
- .NET SDK 8
- Git
从 NuGet 安装(预览)
元包在 nuget.org 上的 ID 为 Skymly.DesignPatterns。C# 命名空间仍为 DesignPatterns.*。
xml
<PackageReference Include="Skymly.DesignPatterns" Version="0.1.0-preview3" />早期预览
公共 API、生成代码与 DP### 诊断尚未稳定。在稳定公告前请固定包版本或 Git commit。
可选 DI: 元包不包含 DesignPatterns.Extensions.DependencyInjection — 在独立 DI 包发布前请从主仓 sibling 引用。见 依赖注入。
克隆布局(贡献者)
建议并列放置于 DesignPatterns 项目目录下:
<workspace-root>/
Skymly/
DesignPatterns/
DesignPatterns/
DesignPatterns.Samples/
DesignPatterns.Docs/ ← 本站powershell
git clone https://github.com/Skymly/DesignPatterns.git
git clone https://github.com/Skymly/DesignPatterns.Samples.git构建生成器解决方案
powershell
cd DesignPatterns
./build.ps1 --target Ci --configuration Release第一个模式:Strategy
引用 Skymly.DesignPatterns(NuGet)或本地 pack / 项目引用。在实现类与 partial 注册表持有者上标记特性:
csharp
[RegisterStrategy(typeof(IPaymentStrategy), "alipay")]
public sealed class AlipayPayment : IPaymentStrategy { ... }
public static partial class PaymentStrategyRegistry { }使用生成的注册表:
csharp
var alipay = PaymentStrategyRegistry.Instance.Get(PaymentStrategyKeys.Alipay);详见 Strategy 与示例仓库。
本地预览文档
bash
cd DesignPatterns.Docs
npm install
npm run docs:dev