om o advento dos métodos de extensão, as classes abstratas são menos atraente

Um aspecto interessante dos métodos de extensão no .NET é o fato de que você pode aplicá-los às interfaces. Para mim, parece bom que eu possa definir a funcionalidade perto da interface sem definir uma classe abstrata que perturbe o assembl

Sei que as classes abstratas não são obsoletas nem nada, mas como você se sente ao utilizar esse efeito colateral no seu códig

Exemplo

public static class IUserExtensions
{
    public static bool IsCurrentUser(this IUser user)
    {
        return (HttpContext.Current.User != null &&
                HttpContext.Current.User.Identity.Name == user.ID.ToString());
    }
}

public interface IUser {
    int ID { get; set; }
}

questionAnswers(11)

yourAnswerToTheQuestion