Между мелким и мало изменчивым и большим, сложным и постоянно меняющимся, есть ещё средние проекты, которых, имхо, большинство :)
А большие проекты как раз часто неповоротливы в плане "заменить реализацию интерфейса на что-то другое", там сидят староверы, которые своё легаси лишний раз стараются глобально не трогать. А когда всё-таки приходит нужда трогать, они это воспринимают как прекрасную возможность чуть-чуть порефакторить и уменьшить техдолг и переписывают половину приложения, включая те самые интерфейсы :)
Ипатьев, он перестанет отвечать, только если файл блокируется, как это автоматически происходит с файлом сессии, но не происходит при простом чтении из обычного файла.
А если не блокируется - то привет race condition.
Вообщем я решил забить на них в своих проектах и подключать в компонентах не интерфейсы, а сами используемые компоненты.
Ничего не знаю конкретно за Java, но в целом в программировании все так и делают, если на проекте не принята явно жёстко схема с интерфейсами подо всё.
Нет готовых решений и быть не может технически. Разве что для разбиения строки на последовательности.
Описанная вами задача, прямо скажем, не слишком часто встречается в жизни.
Одной переменной $price вы, скорее всего, можете либо выводимую цену изменить, либо цену продажи, но не обе сразу. Обе сразу - это как раз "через админ панель".