Расширить несколько классов Java без дублирования - PullRequest
0 голосов
/ 08 октября 2010

У меня есть класс Java, который может расширять любой из двух сторонних классов, которые я не могу изменить.Я могу выбрать любую из этих реализаций во время компиляции без изменений в моем классе, кроме объявления "extends".К сожалению, мне нужно выбрать, какую реализацию использовать во время выполнения, а не во время компиляции.Как лучше всего выбирать между этими двумя реализациями во время выполнения, не дублируя весь производный класс?

1 Ответ

5 голосов
/ 08 октября 2010

Похоже, вам нужен шаблон стратегии .

шаблон стратегии (также известный как шаблон политики) - это конкретный шаблон разработки программного обеспечения, в котором алгоритмы могут быть выбраны во время выполнения.ссылка на один из двух классов, которые вы хотите использовать, и мост к этой реализации.Реализация, которую вы выбираете, может быть выбрана во время выполнения.Из описания вашей проблемы непонятно, но если два ваших сторонних класса реализуют общий интерфейс, то ваш Java-класс, скорее всего, реализует этот интерфейс, и вы можете напрямую сопоставить ссылочный сторонний класс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...