Tôi có một lớp với một số chức năng mặc định / chia sẻ. tôi sử dụngabstract class cho nó:
public interface ITypeNameMapper
{
string Map(TypeDefinition typeDefinition);
}
public abstract class TypeNameMapper : ITypeNameMapper
{
public virtual string Map(TypeDefinition typeDefinition)
{
if (typeDefinition is ClassDefinition classDefinition)
{
return Map(classDefinition);
}
...
throw new ArgumentOutOfRangeException(nameof(typeDefinition));
}
protected abstract string Map(ClassDefinition classDefinition);
}
Như bạn thấy, tôi cũng có giao diện ITypeNameMapper . Liệu nó có ý nghĩa để xác định giao diện này nếu tôi đã có một lớp trừu tượng TypeNameMapperhoặc abstract classlà vừa đủ?
TypeDefinition trong ví dụ tối thiểu này là trừu tượng quá.