扩展现有的界面设计
本文关键字:界面设计 扩展 | 更新日期: 2023-09-27 18:10:04
我有几个类实现了一些接口,而不是修改它,我想用另一个接口扩展它。
当我考虑设计扩展接口时,我不确定如何包含对原始接口的引用的最佳实践是什么?
是否引用或包含它作为扩展接口的属性?
我在下面创建了一个例子来说明这种需要:
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; }
}
第三个选项(继承):
interface IMovieWithSubTitles : IMovie
{
string SubTitles { get; set; }
}
第一个只是声明了一个单独的接口。第二个聚合 IMovie
。不扩展 IMovie
我将继承IMovie
与新的接口,如
public interface IMovieWithSubTitles : IMovie
{
string SubTitles { get; set; }
}