c# – 规范模式与扩展方法?

c# – 规范模式与扩展方法?,第1张

概述我试图掌握规范模式,我对它有点困惑.我真的觉得它对我的具体要求没有帮助.我想知道如果我更喜欢扩展方法来解决我的复杂问题,那会是什么问题?例如 public static class ProductExtensions{ public static IQueryable<Product> InStocks(this IQueryable<Product> query) { 我试图掌握规范模式,我对它有点困惑.我真的觉得它对我的具体要求没有帮助.我想知道如果我更喜欢扩展方法来解决我的复杂问题,那会是什么问题?例如
public static class ProductExtensions{    public static Iqueryable<Product> InStocks(this Iqueryable<Product> query)    {        return query.Where(p => p.InStock && !p.IsDeleted /*others goes here*/);    }}

我发现用扩展方法包装我的长规格而不是使用spesification模式很有帮助.这有什么问题?

解决方法 您当前的方法没有任何问题.

当您处理可以任意应用的组合时,规范模式作为一个非常通用的概念是有意义的,因为它们表达了正交概念 – 即产品是微波炉并且它的重量也小于5磅.

扩展方法有意义,当你想组合总是出现在一起的某些条件,即产品有库存,我们仍然提供它以形成一个更容易使用的抽象,即InStock.扩展方法的其他用途是允许最终查询的更“流畅”组合,这是许多人更喜欢的.

这两个概念并不相互排斥,您应该使用最可读代码的结果来表达您想要表达的任何内容.

总结

以上是内存溢出为你收集整理的c# – 规范模式与扩展方法?全部内容,希望文章能够帮你解决c# – 规范模式与扩展方法?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1263668.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存