лучшие практики для общего интерфейса и структуры ориентации объекта - PullRequest
0 голосов
/ 04 августа 2011

У меня есть интерфейс, который имеет как 20 свойств, которые должны быть реализованы, все эти свойства должны возвращать тип интерфейса или все, что наследуется от этого интерфейса, каждое из этих 20 возвращает тип diffrent, чем другой.

Есть ли лучший способ, чем сделать следующее?

    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; }
}

Я кратко описал код выше, чтобы в интерфейсе было только четыре универсальных типа.

Спасибо.

1 Ответ

3 голосов
/ 04 августа 2011

Обычно используют интерфейсы, чтобы избежать привязки кода к конкретным конкретным типам.

Почему вы можете просто написать:

public interface IRepository
{    
    IQueryable<IProduct> Products { get; set; }
    IQueryable<IProductCategory> Products { get; set; }
    IQueryable<ICategory> Products { get; set; }
    IQueryable<IProductImage> Products { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...