Ho parecchie classi Helper nel mio progetto. Ho letto che questa è una brutta cosa, ma sospetto che "Helper" sia il suffisso sbagliato per loro. Darò un esempio.
 Per prima cosa, ho una classe   User   . Ho bisogno di un metodo   GetSuggestedFriends()    per un utente. Voglio mantenere la logica per determinare l'elenco di amici suggeriti dalla classe   User   , quindi non si gonfia. Al momento, ho un   FriendshipHelper    che riceve un   User    nel suo costruttore. Contiene la logica per ottenere amici suggeriti e ora posso chiamare   myUser.FriendshipHelper.GetSuggestedFriends()   . 
 Originariamente   FriendshipHelper    aveva solo metodi statici e un oggetto   User    è stato passato in ognuno di essi. Se stavo scrivendo la lezione da zero ora, forse la chiamerei   FriendshipManager    - fa anche cose come aggiungere e rimuovere gli amici. 
 Ho letto anche che le classi   ...Manager    sono cattive, comunque. Come dovrei chiamare questa classe? O è questo "codice cattivo"? Dove dovrebbe essere la logica per ottenere amici suggeriti, amici attuali e aggiungere e rimuovere gli amici dal vivo? Sicuramente non tutti in una gigantesca classe   User   ?