У меня есть следующие основные объекты:Куда должна следовать логика фильтрации коллекции в приложении, управляемом доменом?
public class Basket
{
public List<Product> Products {get;set;}
}
public class Product
{
public string Name {get;set;}
public decimal Price {get;set;}
}
И я хочу, чтобы получить список всех товаров в корзине, которые ниже фиксированной цене. Если логика для этого идти в Basket
, например, так:
public class Basket
{
public List<Product> Products {get;set;}
public List<Product> CheapProducts
{
get { return Products.Where(p => p.Price < 5).ToList(); }
}
}
Или это пойти в классе обслуживания, ProductFilterer
, который бы весь список продуктов в качестве параметра и будет возвращать отфильтрованный список продуктов , Или, может быть, нужно просто перейти к методу вызывающего класса?
Или что-то еще? Какова наилучшая практика для этого?
+1 для крика. :) –