У меня есть приложение с интерфейсом OrgManager, которое еще не создано OrgManagerImpl
OrgManagerImpl должен пойти и поговорить с некоторыми сторонними REST API, к которым у нас пока нет доступа.
Итак, пока я тестирую веб-интерфейс, я написал макет OrgManagerImpl, который реализует OrgManager, но при запуске мне нужно поменять эту реализацию поверх.
Однако сейчас я нахожусь в ситуации, когда я хочу, чтобы сервлет выбрал свою реализацию OrgManager в зависимости от некоторого условия.
Также, когда я вызываю myOrgManager.findCompany ("SomeCompanyId"), я хочу, чтобы myOrgManager пошел и посмотрел на все возможные реализации, чтобы найти компанию и составить большой список.
Также мне хотелось бы, чтобы в myOrgManager.createCompany (company) я предпочитал одну реализацию другим.
Кажется, я направляюсь к объекту UserManagerManager ... но я чувствую, что в нем, вероятно, отсутствует некоторая точка Java или объектно-ориентированного проектирования, о которой я должен знать.
Может кто-нибудь предложить шаблон или стратегию, которую я должен использовать вместо этого?
Спасибо