Cześć, jestem nowy w świecie ASP. Widzę, że mogę w pliku Startup.cs zarejestrować serwisy. Tylko teraz pytanie. Jakie są za i przeciw rejestrowania tych serwisów jako singletony lub zwykłe klasy. Czyli jakie są faktycznie różnice między czymś takim:
services.AddScoped<IToDoItemService, FakeToDoItemService>();
a tym:
services.AddSingleton<IToDoItemService, FakeToDoItemService>();
Osobiście WYDAJE mi się, że wersja z singletonem będzie działała szybciej. Chociażby dlatego, że singleton zostanie utworzony tylko raz przy pierwszym wywołaniu. Natomiast w pierwszej wersji, tworzony jest obiekt przy każdym wywołaniu. A jeśli taki serwis ma w sobie jeszcze inne zależności, to one też będą tworzone przy każdym wywołaniu i może zrobić się niezła sieka.
Czy mój tok rozumowania jest poprawny? Czy są jakieś KONKRETNE "przeciw" jeśli chodzi o rejestrację serwisów jako singletony?