扩展现有接口设计

Y.S*_*Y.S 0 .net c# 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; }
}
Run Code Online (Sandbox Code Playgroud)

Den*_*nis 6

第三种选择(继承):

interface IMovieWithSubTitles : IMovie 
{
     string SubTitles { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

你的第一个只是声明一个单独的接口.第二个聚合 IMovie.两种情况都没有扩展 IMovie.