Я читал о шаблоне прокси-сервера Java и обработчике вызова, и везде видно, что конкретная конструкция класса доступна клиенту.Прокси-шаблон конкретный класс скрывает детали реализации
Например,
//TwitterService service = (TwitterService) SecurityProxy.newInstance(new TwitterStub());
TwitterService service = new TwitterStub();
System.out.println(service.getTimelinePosts("abc"));
Пользователь может создать экземпляр TwitterStub
непосредственно и получить доступ к методам. Мне было интересно, есть ли способ не подвергать или избегать строительства конкретного класса через клиента?
Есть ли лучший способ?
Вам необходимо обеспечить реализацию InvocationHandler, больше ничего не требуется. –
Вы можете использовать [Заводской шаблон метода] (https://en.wikipedia.org/wiki/Factory_method_pattern) или [Абстрактный заводской шаблон] (https://en.wikipedia.org/wiki/Abstract_factory_pattern), чтобы скрыть прямой вызов вашего конструктора. – callyalater
Но я не думаю, что я вполне понимаю ваш вопрос ... – callyalater