Минимизировать дублирование кода
От: busk  
Дата: 07.09.23 08:01
Оценка:
Есть порядка 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 или другие варианты?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.