FluentResults
**FluentResults 是一款轻量级的 .NET 库,旨在解决一个常见问题。它返回一个表示操作成功或失败的对象,而不是抛出或使用异常。**
您可以使用 NuGet 安装 FluentResults:
Install-Package FluentResults
- 通用容器,适用于所有场景(ASP.NET MVC/WebApi、WPF、DDD 领域模型等)
- 在一个 Result 对象中存储多个错误
- 存储强大且详细的 Error 和 Success 对象,而不仅仅是字符串格式的错误消息
- 以面向对象的方式设计 Error/Success
- 以层级方式存储根因及错误链
- 提供
- 支持 .NET Standard、.NET Core、.NET 5+ 和 .NET Full Framework(详见 .NET 目标框架)
- SourceLink 支持
- 强大的代码示例,展示与知名或常用框架/库的集成
- 新增 增强的 FluentAssertions 扩展,以优雅的方式断言 FluentResult 对象
- 预览中 从 ASP.NET Controller 返回 Result 对象
为什么使用结果对象而非异常
坦白说,返回一个表示成功或失败的结果对象这一模式,并非什么新概念。它源自函数式编程语言。借助 FluentResults,这一模式同样可以应用于 .NET/C# 中。
文章《Exceptions for Flow Control》作者 Vladimir Khorikov(https://enterprisecraftsman)