扩展现有接口设计

时间:2015-08-27 05:54:27

标签: c# .net interface

我有几个实现某个接口的类,而不是修改它,我想用另一个接口扩展它。

当我考虑设计扩展界面时,我不确定如何包含对原始界面的引用的最佳做法是什么?

Id引用或将其作为扩展接口的属性包含在内?

我已经创建了一个示例,以显示需求:

public interface IMovie
{
    string UniqueId { get; set; }

    string Name { get; set; }

    string Ratnig { get; set; }
}

//Option #1
public interface IMovieWithSubTitles
{
    string UniqueId { get; set; }

    string SubTitles { get; set; }
}

//Option #2
public interface IMovieWithSubTitles
{
    IMovie Movie { get; set; }

    string SubTitles { get; set; }
}

1 个答案:

答案 0 :(得分:1)

我会使用新界面继承IMovie,例如

public interface IMovieWithSubTitles : IMovie 
{
    string SubTitles { get; set; }
}