[마소] 2013.07 Angular.JS - 서비스들과 의존성 주입
AngularJS의 서비스는 특정 기능을 담당하는 객체들을 서비스라고 한다.
공통된 특정 작업을 수행하는 싱글톤(singleton) 객체다.
singleton은 인스턴스가 단 1개만 존재하는 것을 보증하는 디자인 패턴이다.
예를 들어 기본 서비스로 제공하는 $http service
는 브라우저의 낮은 레벨에 해당하는 XMLHttpRequest 객체의 기능을 제공한다.
Angular services are singletons that carry out specific tasks common to web apps, such as the$http service
that provides low level access to the browser'sXMLHttpRequest
object.
To use an Angular service, you identify it as a dependency for the dependent (a controller, or another service) that depends on the service. Angular's dependency injection subsystem takes care of the rest. The Angular injector subsystem is in charge of service instantiation, resolution of dependencies, and provision of dependencies to factory functions as requested.
스크롤 처리를 한다.
동일한 기능을 하는 객체를 제공한다.
* 의존성 주입 (Dependency Injection)
의존성 주입 적용으로 얻을 수 있는 이점
- 종속성의 설정을 컴파일 시에서 실행 시로 조정해 모듈 간의 결합도를 낮출 수 있다.
- 여러 곳에서 사용 중인 모듈을 소스 코드의 수정없이 사용할 수 있어 재사용율이 높다.
- 모의 객체 등을 이용한 단위 테스트 시 편의성을 높여준다.
의존성 주입 패턴
- 생산자 주입 : 필요한 의존성을 모두 포함하는 클래스의 생성자를 만들고, 그 생성자를 통해 의존성을 주입한다.(new 연산자를 통한 생성)
- 세터(setter)를 통한 주입 : 의존성을 입력받는 세터 메소드를 만들어 의존성을 중비한다.
- 인터페이스를 통한 주입 : 의존성을 주입하는 함수가 포함된 인터페이스를 작성하고, 이를 구현하도록 함으로써 실행 시 의존성을 주입한다.
'프로그래밍 > Script' 카테고리의 다른 글
[CSS] Pickadate.js — Responsive date & time picker (0) | 2013.07.25 |
---|---|
[jQuery] jQuery 참고 사이트 (0) | 2013.07.24 |
[jQuery] 20 Most Popular Responsive jQuery Plugins (0) | 2013.07.24 |
[jQuery] jQuery Plugins with Backbone – Articles List Shedding the Light Onto Sweet Couple (0) | 2013.07.22 |
[javascript] 모바일웹에서 새 창 닫기 (0) | 2013.07.18 |