Mam składnik, który musi wywoływać określoną usługę w zależności od wejścia, które otrzymuje. Tak więc mój komponent musi patrzeć na dane wejściowe i na podstawie konfiguracji, która mówi "dla tego połączenia wejściowego ta usługa z tymi danymi" musi wywołać odpowiednią usługę. Usługi mają wspólną metodę podpisu i konkretną (każdą).Czy istnieje wzór do tego?
Pomyślałem o klasie abstrakcyjnej, która zawiera podpisy dla wszystkich trzech metod. Implementacja dwóch usług zastąpi wszystkie trzy metody (rzucanie NotImplementedException
dla metod, które nie są obsługiwane przez bieżącą usługę). Komponent, który można zainicjować za pomocą mapy (która dla każdego typu wejścia będzie miał typ usługi, która będzie wywoływana) zostanie również zdefiniowany.
Czy masz lepsze podejście do radzenia sobie z tym scenariuszem?
Myślałem (oznaczono) o fabrycznym DP, ale w tym przypadku musi być ono połączone z innym wzorem, aby można było go "skonfigurować". Prosiłem o istniejące podejście w ten sposób. – ytrewq
Może to również być związane z modelem Singleton lub puli obiektów – ytrewq
Fasada lub wzorzec adaptera mogą być godne rozważenia, pozwalając na konfigurację, o której myślę. –