наследуются от Base.
                  
                  
                  У каждого из этих классов есть метод process_data, который наследуют от Base. Он принимает строку данных и формирует из нее фрейм.
                  
                  
                  Код метода process_data для некоторых классов различается, для других - совпадает. 
                  
                  
                  Вопрос: как избежать дублирования кода и не плодить при этом кучу абстрактных классов?
                  
                  
                
примеси, не?
заюзать композицию вместо наследования?
заюзать паттерн Strategy
мб фабричный метод подойдет
Обсуждают сегодня