Я пытаюсь сделать приложение Java поточно-ориентированным. К сожалению, он изначально был разработан для однопользовательского режима, и все ключевые классы созданы как одиночные. Что еще хуже, существует множество интерфейсов, работающих как контейнеры констант, и многочисленные статические поля.
Что в этом случае можно считать хорошей практикой?
- Есть одна точка входа, поэтому я мог бы синхронизировать ее и просто использовать пул (вроде как), но если вызовы занимают в среднем больше минуты, всем остальным потокам в очереди придется долго ждать ...
- Поскольку покрытие тестового кода не совсем оптимально, и я не могу быть уверен, что что-то упустил, некоторые подсказки о плохих шаблонах реализации (аналогичные тем, которые указаны выше) в этой области, были бы полезны.
- Я знаю, что лучше всего было бы переписать всю структуру, но это не вариант.