Придумать хорошие, точные названия для классов, как известно, сложно. Сделано правильно, он делает код более самодокументированным и предоставляет словарь для рассуждения о коде на более высоком уровне абстракции.
Классам, которые реализуют конкретный шаблон проектирования, может быть присвоено имя на основе известного имени паттерна (например, FooFactory, FooFacade), а классы, которые непосредственно моделируют концепции домена, могут принимать свои имена из проблемной области, но как насчет других классов? Есть ли что-то вроде тезауруса-программиста, к которому я могу обратиться, когда мне не хватает вдохновения, и не хочу использовать общие имена классов (например, FooHandler, FooProcessor, FooUtils и FooManager)?