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.
Best Design Pattern To Represent Fruit and Machines
design patterns
You're asking for a design pattern to implement double dispatch. The logic for performing an action on a fruit depends on both the type of action, and the type of fruit. I can't give a more specific answer because fruits and cooking actions are not real OOP objects. The appropriate design pattern to use will depend on what your objects really are. 