У меня есть 2 класса, которые имеют одинаковую логику / рабочий процесс, за исключением одного метода.
Итак, я создал абстрактный базовый класс, в котором отличающийся метод объявлен как абстрактный.
Ниже приведен пример кода для демонстрации моего дизайна; Кто-нибудь может предложить предложения по лучшему подходу или я иду в правильном направлении.
Я не использовал интерфейс, потому что оба производных класса B и C буквально разделяют большую часть логики. Есть ли лучший способ сделать то, что я делаю ниже, с помощью внедрения зависимостей?
public abstract class A
{
public void StageData()
{
// some logic
DoSomething();
}
public void TransformData();
public abstract DoSomething();
}
public class B : A
{
public override void DoSomething()
{
// Do Something!
}
}
public class C : A
{
public override void DoSomething()
{
// Do Something!
}
}