Ho due algoritmi che condividono molti punti in comune. Uno esegue una procedura iterativa, l'altro esegue solo la prima iterazione. I risultati sono, ovviamente, diversi (una classe fornisce risultati che l'altro non può), così come l'impostazione (il processo iterativo richiede tolleranze e il numero massimo di iterazioni, che sono irrilevanti in quello non iterativo).
Dovrei avere una classe unica con ifs interni (come if (iterative) do this else do that
) o dovrei implementare due classi diverse (e potenzialmente inserire codice comune in un posto accessibile in modo che possa essere condiviso?) Cosa ne pensi?