下面的ProductService类从数据库获取基于不同过滤器(如日期,国家等)的产品。 ProductsService不遵循OCP,因为添加新的过滤器(如按价格获取产品)需要更改ProductsService代码。如何修复?任何建议/意见将非常有帮助。针对不同过滤器条件的开放闭合原理
public class ProductsService : IProductsService
{
public FilteredProducts GetProductsByDate(DateTime startDate, DateTime EndDate)
{
//.....
}
public FilteredProducts GetProductsByCountry(string country)
{
//.....
}
public FilteredProducts GetProductsByCity(string city)
{
//.....
}
}
public class FilteredProducts
{
public IEnumerable<Product> Products{set;get;}
public int uniqueProducts { set; get; }
}
public class Product
{
public int ID{set;get;}
public string Name{set;get;}
public decimal Cost{set;get;}
}
其实不,它没用。请在您的描述中添加更多细节(如何操作,而不是如何操作),并且包含一些代码,因为原始的海报会尽力实现。 –
对不起。我的错。用户“不安”在几分钟前添加了上述模式的示例代码。 – Brijesh