
Zastanawiam się jaki wzorzec projektowy wybrać do takiego zadania.
Muszę przekonwertować dane ID na inną wartość.
ID jakie otrzymam może być różnego typu: może to być ID wpisu, ID kategorii, ID załącznika. W zależności od tego jaki to jest typ, algorytm konwersji będzie inny.
Dochodzi jeszcze jedna warstwa problemu: ID może być dostarczone jako liczba albo tablica liczb (wtedy wiele ID) i moja funkcja/metoda musi zwrócić to w takim samym formacie.
Teraz moje pomysły, ale może ktoś ma lepszy:
1. Metoda fabrykująca lub fabryka abstrakcyjna (jeśli to dobry pomysł, to które będzie lepsze?)
Stworzę fabrykę, która na końcu utworzy odpowiedni obiekt z odpowiednią metodą konwertuj(). Uda się zapewne skomponować coś ładnego co weźmie pod uwagę różny typ ID jak i różny format w jakim zostało dostarczone (liczba lub tablica)
2. Command
Ostatecznie potrzebuję przecież metody konwertuj() więc jakoś mi intuicja podpowiada, że to przecież jest command. Dobrze myślę?
A może coś innego?