Шаблон спецификации против метода расширения?

Я пытаюсь понять шаблон спецификации, и меня это немного смущает. Я действительно не мог найти это полезным для моих конкретных требований. Я хочу знать, в чем проблема, если я предпочитаю методы расширения для своих сложных спецификаций? Например,

public static class ProductExtensions
{
    public static IQueryable<Product> InStocks(this IQueryable<Product> query)
    {
        return query.Where(p => p.InStock && !p.IsDeleted /*others goes here*/);
    }
}

я счел полезным заключить мои длинные спецификации в методы расширения вместо использования шаблона спецификации. Что в этом не так?

6
задан Mark Seemann 31 March 2011 в 20:11
поделиться