In questo momento sto lavorando al mio piccolo progetto di un'applicazione di backup di file WPF. Sono giunto al punto in cui voglio creare un metodo che copi i file in modo ricorsivo da un posto all'altro.
Questa non è la prima volta che mi pongo la domanda:
Should this method be a part of an existing class, or should I store it in a new class?
Ciò che mi infastidisce di più è che se creo una nuova classe, molto probabilmente consisterà esclusivamente in questo metodo, quindi mi sembra una forzatura creare un nuovo tipo per una sola azione. D'altra parte, credo che sia una buona astrazione. La copia dei file non ha molto a che fare con una finestra WPF.
L'esempio che mostro qui fa emergere una domanda più generale. Come bilanciare funzionalità / astrazione / leggibilità per creare codice in cui i principi OOP non oscurano il buon senso? Sono relativamente nuovo alla programmazione, ma mi piacerebbe iniziare a seguire buone pratiche di codifica non appena possibile, ad es non implementare modelli di progettazione come pazzi, perché ho appena letto su di loro.