Есть порядка 8 классов, у которых 90% логики при сохранении одинаковая и 10% между собой отличается.
Классы: разные типы плав средств. Пвх лодка, катер и т.д.
Класс сохранения выглядит так для всех методов
CheckCondiitons(T item)
{
some code
calculateC(item);
some code
calculateE(item);
some code
}
calculateC, calculateE — специфичины для каждого класса, some code — Одинаковый везде
сейчас получается some code достаточно много кода, там код + вызовы других методов.
Из-за того что 8 классов, то самый простой вариант сделать 8 классов где будет одинаковый по сути код и отличаться просто calculateC, calculateE
Хочется избежать много одинакового кода.
Если это важно то проект .net core.
Смотрел на паттер Спецификация или может можно построить как-то expression tree или другие варианты?