[Angular] Angular Service

웅이·2022년 9월 6일
0

1) Service란?

  • 특정 비즈니스 로직을 다른 파일에서 관리
  • 여러 컴포넌트에서 동일한 로직 사용 시 재사용성 증가
  • 서비스를 만들고 필요 시 가져다 사용 (Inject: 주입)
  • 주로 shared/services 폴더에 관리
  • naming은 보통 ~.service.ts / ~.data.service.ts 등

2) 서비스 클래스

  • 다른 클래스에게 특정 서비스(기능)를 부여
  • import { Injectable } from '@angular/core"; 를 통해 다른 클래스에 주입
  • Angular 모듈의 providers 섹션에 등록

3) 컴포넌트 클래스

  • 서비스를 사용하는 클래스
  • 직접 데이터 서비스 코드를 구현해도 무관
  • Angular 모듈의 declarations 섹션에 등록
  • 서비스를 사용 시 생성자에 주입
  • import service 후 constructor에 private으로 주입해 서비스 데이터나 로직 사용

4) 서비스 생성

Angular CLI로 쉽게 서비스 생성 가능

$ ng generate service <서비스명>

5) 의존성 주입(Dependency Injection)

  • 클래스가 의존성 객체를 외부에 요청하고 외부에서 이 객체의 인스턴스를 생성해서 주입하는 디자인 패턴
  • 의존성 객체는 클래스가 동작하기 위해 필요한 서비스나 객체를 의미함

참고 자료: Angular2(앵귤러2) 서비스(Service) 소개
https://angular.kr/guide/dependency-injection

profile
나는 커서 무엇이 되려나

0개의 댓글