Я начал с общего интерфейса ILogin. Интерфейсы требуют, чтобы вы реализовали два свойства: UserID и Password. У меня много классов типа входа, которые реализуют этот интерфейс. По мере роста и роста моего проекта я обнаружил, что многие классы повторяют код UserID и Password. Теперь я решил, что мне нужен базовый класс Login.
Правильно ли создать абстрактный базовый класс Login, который реализует интерфейс ILogin и все мои конкретные классы просто наследуют от абстрактного класса и переопределяют, когда это необходимо? Первоначально я думал, что с этим не будет никаких проблем. Затем я начал думать, что ILogin, вероятно, не нужен, потому что он, скорее всего, будет реализован только моим абстрактным классом.
Есть ли смысл поддерживать как абстрактный класс, так и интерфейс?
Спасибо!