У меня есть класс A, который имеет общедоступные методы и используется 100 другими классами, реализованными в разных приложениях. Теперь я хочу сделать эти общедоступные методы закрытыми, чтобы к ним не обращались новые классы, но я хочу, чтобы существующие клиентские классы по-прежнему имели к ним доступ. Но я не хочу даже трогать эти клиентские классы, потому что владельцы редко допускают хоть какое-то волнение в своих классах.
Я проверил
Могу ли я получить доступ к закрытым членам из-за пределов класс без друзей?
класс друзей с ограниченным доступом
Но все (на самом деле не все) требуют изменения кода клиента. Код клиента не должен меняться.
Один из простых способов — подружиться со всеми этими N-классами, но мне это несколько неудобно. Есть ли какой-либо шаблон или приемлемая техника (не взлом, пожалуйста) для достижения этого ограничения доступа? Спасибо, и я извиняюсь, если это дубликат.