Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Angular - factory vs service
wujek2009
post 20.02.2016, 13:20:28
Post #1





Grupa: Zarejestrowani
Postów: 350
Pomógł: 31
Dołączył: 23.05.2010

Ostrzeżenie: (0%)
-----


Hej,

Próbuje zrozumieć różnice pomiędzy factory a service w angularze (1), jednak nie potrafię sobie w pełni tego zwizualizować. Za każdym razem jak wywołam serwis/fabrykę to właściwie zwracany output niczym się od siebie nie różni. Więc w konsekwencji nie widzę tej różnicy.

[JAVASCRIPT] pobierz, plaintext
  1. app.service('MojSerwis', ['$http', function($http) {
  2. var licznik = 0;
  3.  
  4.  
  5. this.powitaj = function() {
  6. licznik++;
  7.  
  8. return 'string z serwisu';
  9. };
  10. }]);
  11.  
  12. app.factory('MojaFabryka', ['$http', function($http) {
  13. var numer = 0;
  14.  
  15. return {
  16. powitaj: function() {
  17. numer++;
  18.  
  19. return 'string z fabryki';
  20. }
  21. }
  22. }]);
  23.  
  24. // + controller
  25. app.controller('MyCtrl', ['$scope', 'MojSerwis', 'MojaFabryka', function($scope, MojSerwis, MojaFabryka) {
  26. console.log(MojSerwis.powitaj());
  27. console.log(MojSerwis.powitaj());
  28.  
  29. console.log(MojaFabryka.powitaj());
  30. console.log(MojaFabryka.powitaj())
  31. }]);
[JAVASCRIPT] pobierz, plaintext


I zwraca mi wynik normalnie. W sieci padają słowa, że serwis tworzysz jak nową instancję klasy w PHP, po przez: "new {nazwa_klasy}" jednak tutaj wykorzystując DI nie muszę tworzyć przez "new"

Przykład podałem na zasadzie zwracającego stringu bo widziałem w sieci jak ktoś dał "hello world" i najwyraźniej jakaś różnica w tym jest (nawet jak zwraca zwykły string a nie np. json'a przez $http)

Może ktoś powiedzieć, rozwinąć - gdzie tu różnica jest? Widzę, że w sposobie zwracania danych - fabryka po przez "return" zwraca listę dozwolonych metod - natomiast serwis jest ogólno dostępny (tj: jego metody) - tak? To jest ta różnica?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.03.2024 - 04:17