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 ?