如果因为c#Generics它们的内容相同,是否值得合并这些接口?

时间:2012-12-20 19:09:03

标签: c# design-patterns

我有公司和用户的回购,但它们的接口是相同的

  public interface ICompanyRepository
    {
        void RollbackChanges();
        void SaveChanges();
        IQueryable<T> Set<T>() where T : class;
    }
  public interface IUsersRepository
    {
        void RollbackChanges();
        void SaveChanges();
        IQueryable<T> Set<T>() where T : class;
    }

你认为将它们组合成一个单独的类,即IRepository

是值得的吗?
 public interface IRepository
        {
            void RollbackChanges();
            void SaveChanges();
            IQueryable<T> Set<T>() where T : class;
        }

2 个答案:

答案 0 :(得分:2)

是的,将常用功能移至通用界面。它可以减少代码中的重复。

答案 1 :(得分:1)

对于具有相同概念的东西,拥有两个相同的接口是没有意义的。

是的 - 合并它们。根据{{​​3}}。

,您可以根据需要在一个地方进行更改