unit tests
Не учите папу кашлять. Не надо мне про синглтоны рассказывать, я сам кому хочешь расскажу.
Я же писал, что если есть 10-летний лигаси-код в огромном энтерпрайз-продукте, который напичкан синглтонами под завязку, то никто в здравом уме не пойдёт всё это "рефакторить". За редким исключением, когда менеджмент понимающий и архитектор грозится уволиться, см выше.
А мои каракули в том посте - это был вопрос, как вот такие конструкции можно заменить моками. Вопрос оказался в пустоту, потому что товарищ на другой платформе работает. А в джабе я не силён, чтобы пример на джабе слабать.
Замена модификатора сеттера на internal никаким образом не поможет синглтон сделать mockable.
ЗЫ. Хот-патчинг - это замена кода приложения в процессе выполнения приложения. Есть на всех платформах, в том числе .NET. Например, можно любые методы менять на что угодно и вообще творить всякое непотребство. К сожалению, приходилось применять: ручная генерация IL и потом хардкорный asm, чтобы заставить jitter всё это дело схавать и не подавиться.