Czytałem dzis trochę o kontenerze DI i tak się zastanawiam co zrobić jak mamy wiele implementacji interfejsu które sa uzywane w aplikacji. Np w artykule był przyklad ze jest interfejs **IEmailSender **do wysyłania maili. Nie było konkretnych przykladów tylko taki z grubsza poruszenie tematu.
Zastanawiam sie teraz co mam zrobic jak bede chcial zaimplementowac kilka wersji tego interfejsu, np (nie czepiajmy sie zasadności istnienia poniższych implementacji, bardziej chodzi mi o możliwość kontenera) chce dac uzytkownikowi wybor i bede mial klasy:
- GMailEmailSender,
- WPEmailSender,
- InteriaEmailSender
- itp.
Na podstawie jakis opcji wybranych przez usera chciałbym uzyc jednej z tych implementacji. Co wtedy mam zrobic z kontenerem skoro tam moge zarejestrowac tylko jedna implementacje dla mojego interfejsu IEmailSender?