Il motivo principale per cui i nomi che terminano in Manager
o Browser
o Editor
a volte sono cattivi è che sono vaghi e non specifici e non dicono abbastanza su ciò che la classe FooManager
sta effettivamente facendo con Foo
s.
Proprio per questa ragione, non esiste una risposta generale alla domanda "con che cosa dovrebbero essere sostituiti?"
Un nome di classe dovrebbe (per quanto è possibile data la sua brevità) dire cosa fa un'istanza della classe. Se davvero non puoi dire altro su cosa fa FooManager
di quello che gestisce Foo
s, quindi chiama la classe FooManager
(e considera se forse le sue resoconsabilità dovrebbero essere divise tra più altre classi con una migliore messa a fuoco responsabilità). Se puoi dire qualcosa di più specifico, e puoi farlo brevemente, allora questo dovrebbe indicare quale nome sarebbe meglio.
(Naturalmente se la tua classe è chiamata WebBrowser
o TextEditor
o SeniorManager
allora non si applica nessuna delle precedenti, questo non è il genere di cose che il folklore non attribuisce alle classi a cui quel tipo di nome è rivolto . :-))