Sto cercando il modello di progettazione corretto per disaccoppiare parte della logica su alcune classi astratte che ho. Per prima cosa abbiamo una classe base: frutta e frutta, mela, arancia e mango. Poi ho alcune classi che eseguono alcune logiche sul frutto. Queste classi sono le classi di taglio, cottura e peeling. Ora gran parte della logica per tagliare è identica per ogni frutto, così come cucinare e sbucciare, tuttavia ci sono alcune differenze specifiche che si verificano per ogni tipo di frutta in tutte le classi lavoratrici. Non voglio particolarmente dare alle lezioni di frutta molte informazioni su ciò che serve per tagliare, cucinare o sbucciare dato che la logica è piuttosto complicata, eppure non mi piace che la classe chop / cook / peel abbia così tanto codice relativo a specifici frutti.
Quindi riassumendo tutto ciò che il modello di progettazione modella correttamente detto schema di frutti e azioni sui frutti. Grazie per tutti gli input.