I'm looking for the correct design pattern to decouple some of the logic on some abstract classes I've got. First we have a base class Fruit and child classes apple, orange, and mango. Then I have some classes that perform some logic on the fruit. These classes are the chopping, cooking, and peeling classes. Now much of the logic for chopping is identical for each fruit, as well as cooking and peeling, however there is some specific differences that occur for each type of fruit in all the working classes. I don't particularly want to give the fruit classes a lot of information about what it takes to chop, cook, or peel since that logic is quite complicated, yet I'm not fond of the chop/cook/peel class having so much code related to specific fruits.
So to sum it all up which design pattern correctly models said pattern of fruits and actions on fruits. Thank you for all input.