Я не могу решить, где хранить многоразовые чистые функции в Java. Пример:
class ServiceA(){
private C pureFunction1(A a, B b) {
//code to produce C c;
return c;
}
}
class ServiceB(){
private C pureFunction1(A a, B b) {
//code to produce C c;
return c;
}
}
Согласно DRY я должен где-то извлечь эту чистую функцию.
Я подумал поместить его в следующие места:
- Класс статического помощника (запах + против принципа обращения зависимостей SOLID)
- Spring bean (не слишком ли это просто для чистой функции)
- Суперкласс (не подходит для двух независимых сервисов)
- Интерфейс с методом по умолчанию (Интерфейсы имеют различное назначение)
Где бы вы порекомендовали разместить код для pureFunction1?