想询问组合而不是继承在这里是否有意义,如果是这样的话,这是一个很好的方法。
我有一个这样的界面:
public interface IUser
{
string FirstName {get; set}
string LastName {get; set}
}
还有一个“高级”用户界面,它具有与 IUser 相同的字段,但有一些附加功能。电话号码、电子邮件地址等
这个IAdvancedUser
接口是否应该继承IUser
并添加它自己的属性,或者在其中包含一个实例IUser
,并使用 setter 注入来实例化该成员,是否也有意义?如果是后者,是否有一些 .Net/C# 习语在这些情况下运行良好——例如,通过包装或其他方法将IUser
成员公开为成员?IAdvancedUser
这些是 DTO 对象,其中没有方法,只有属性。