审查生成的产品目录

来自 集合
C# 14 / .NET 10 高级 6分钟 找出 5处问题

在多个请求处理器共享这个生成的商品目录前,对它进行审查。

为调用方提供的 SKU 构建不区分大小写的目录,把容量限制为 1,000 项,在并发下每个逻辑 SKU 最多加载一次,并返回按 SKU 排序的稳定不可变快照。

csharp
using System.Collections.Generic;

public sealed record Product(string Sku, string Name);

public sealed class ProductCatalog
{
    private readonly Dictionary<string, Product> _bySku = new();

    public Product Get(string sku)
    {
        if (!_bySku.ContainsKey(sku))
        {
            _bySku[sku] = LoadProduct(sku);
        }
        return _bySku[sku];
    }

    public IReadOnlyCollection<Product> Snapshot() => _bySku.Values;

    private static Product LoadProduct(string sku) => new(sku, "loaded");
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误