AngularJS
Usługa wyróżniająca vs fabryka
Szukaj…
Usługa Factory VS raz na zawsze
Zgodnie z definicją:
Usługi są w zasadzie funkcjami konstruktora. Używają słowa kluczowego „to”.
Fabryki to proste funkcje, dlatego zwracają obiekt.
Pod maską:
Fabryki wewnętrznie wywołują funkcję dostawcy.
Usługi wywołują wewnętrznie funkcję fabryczną.
Debata:
Fabryki mogą uruchomić kod, zanim zwrócimy literał obiektu.
Ale jednocześnie można również napisać Usługi zwracające literał obiektu i uruchamiające kod przed zwróceniem. Chociaż jest to przeciwnie produktywne, ponieważ usługi mają działać jako funkcja konstruktora.
W rzeczywistości funkcje konstruktora w JavaScript mogą zwracać cokolwiek chcą.
Który z nich jest lepszy?
Konstruktor składni usług jest bardziej zbliżony do składni klasowej ES6. Migracja będzie więc łatwa.
streszczenie
Podsumowując, dostawca, fabryka i serwis to wszyscy dostawcy.
Fabryka to szczególny przypadek dostawcy, gdy wszystko, czego potrzebujesz u swojego dostawcy, to funkcja $ get (). Pozwala napisać go z mniejszym kodem.
Usługa jest szczególnym przypadkiem fabryki, w której chcesz zwrócić instancję nowego obiektu, z tą samą korzyścią, że pisze mniej kodu.