AngularJS
구별 서비스 대 공장
수색…
공장 VS 서비스 한번에
정의 :
서비스는 기본적으로 생성자 함수입니다. 그들은 'this'키워드를 사용합니다.
팩토리는 간단한 함수이므로 객체를 반환합니다.
후드:
팩토리는 내부적으로 공급자 기능을 호출합니다.
서비스는 내부적으로 팩토리 기능을 호출합니다.
토론 :
팩토리는 객체 리터럴을 반환하기 전에 코드를 실행할 수 있습니다.
그러나 동시에 서비스는 객체 리터럴을 반환하고 반환하기 전에 코드를 실행하도록 작성할 수도 있습니다. 서비스가 생성자 기능으로 작동하도록 설계 되었기 때문에 이는 역효과가 있습니다.
실제로 JavaScript의 생성자 함수는 원하는대로 반환 할 수 있습니다.
그래서 어느 것이 더 낫습니까?
서비스의 생성자 구문은 ES6의 클래스 구문과 가깝습니다. 따라서 마이그레이션은 쉬울 것입니다.
개요
요약하면 제공자, 공장 및 서비스는 모두 공급자입니다.
팩토리는 제공자에서 필요한 것이 $ get () 함수 일 때 공급자의 특별한 경우입니다. 적은 코드로 작성할 수 있습니다.
서비스는 새로운 객체의 인스턴스를 반환하고자 할 때 팩토리의 특수한 경우이며 코드를 적게 작성하는 것과 동일한 이점이 있습니다.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow