通用接口和面向对象结构的最佳实践

本文关键字:最佳 结构 面向对象 接口 | 更新日期: 2023-09-27 18:04:27

我有一个接口,有20个属性,应该实现所有这些属性应该返回一个接口类型或继承自这个接口的任何东西,这20个属性中的每个属性都返回不同的类型。

有比下面的方法更好的方法吗?

    public interface IRepository<Product, ProductCategory, Category, ProductImage>
    where Product : IProduct
    where ProductCategory : IProductCategory
    where Category : ICategory
    where ProductImage : IProductImage
{
    IQueryable<Product> Products { get; set; }
    IQueryable<ProductCategory> Products { get; set; }
    IQueryable<Category> Products { get; set; }
    IQueryable<ProductImage> Products { get; set; }
}

我在上面的代码中简要说明了接口中只有四种泛型类型。

谢谢。

通用接口和面向对象结构的最佳实践

通常,使用接口是为了避免将代码绑定到特定的具体类型。

为什么你可以直接写:

public interface IRepository
{    
    IQueryable<IProduct> Products { get; set; }
    IQueryable<IProductCategory> Products { get; set; }
    IQueryable<ICategory> Products { get; set; }
    IQueryable<IProductImage> Products { get; set; }
}