Может ли интерфейс иметь несколько реализаций? Как при этом использовать необходимую реализацию?
Допустим, есть некоторый интерфейс, который предоставляет метод, принимающий массив данных (неважно какого вида или какой формат данных) и в зависимости от этих данных, должна использоваться одна или другая реализация интерфейса.
1) Собственно, возможно ли такое вообще в UML, чтобы 1 интерфейс, мог иметь несколько реализаций
2) Если может, то каким образом должен производиться выбор определенной реализации интерфейса, именно той, которой надо?
При поиске, наткнулся на паттерны Фабрика и Стратегия, но не совсем понимаю, применимы ли они в моём контексте.