Я видел термины SomeProducer, SomeProvider и SomeFactory, которые в некоторых проектах использовались в качестве имен классов довольно случайно.
Я еще не видел четкого определения ответственности DI Beans за упомянутые выше имена. Часто SomeFactory зависел от OtherService или OtherConnector. Фактическая реализация и название зависели от разработчика.
Причина вопроса: я хотел бы писать чистый, хорошо читаемый и понятный код. Освободить других от боли, вызванной чтением и пониманием спагетти-кода.




Именование не должно зависеть от одного разработчика. Соглашения об именах для очень конкретных вещей часто являются тем, что команда должна решить вместе со своими членами, иногда это даже решение компании. Парное программирование и обзор кода позволяют достаточно быстро находить приемлемые условные обозначения.