"Helper", "Common", "Core", "Utilities" seems equal or worst than "Manager".
Them don't say nothing about what they do.
"Factory" is absolutely wrong here.
Alternative names are "Coordinator" or "Controller".
yous said: I have a class that is responsible for starting and stopping connections. So I named it ConnectionManager.
If the class just "start" and "stop" the connection, why not "ConnectionSwitcher" ?
you said: I have used these everywhere.
I have many *Manager classes too. Today I decided to change the name of "AccountManager". It uses the Account repository to perform CRUD operations.
I splitted it in "AccountSecurity" and "AccountOperations".
Them exists in MyProject.BusinessLogic namespace and both uses AccountRepository class that expose the CRUD methods.
The former is responsible for actions like "Login" and "ChangePassword".
The latter is responsible for CRUD operations against the database but regulated by some logic, for example if exists some registry records for the Account it cannot be deleted. (The "AccountOperations" uses also other repositories to retrieve needed informations)
I'm not happy with "operations" and I'm searching something better (Coordinator, Supervisor...) but it is a start.
My case would be an example of the way to think at it.