-
웹 앱 프레임워크 앵귤러(Angular) 서비스와 의존성 주입앵귤러(Angular)/앵귤러(Angular) 시작하기 2022. 4. 12. 16:56
서비스
서비스는 앱에서 공통으로 사용하는 상수나 함수, 기능을 모아놓은 단위이다.
앵귤러(Angular)는 컴포넌트와 서비스를 확실하게 구분해서 모듈화와 재사용 효율성을 높이는 것을 권장한다. 컴포넌트에서 뷰와 관련된 로직을 다른 로직과 분리하면 컴포넌트 클래스를 간결하게 구설할 수 있다.결과적으로 컴포넌트 클래스를 유연하고 효율적으로 유지할 수 있다.
이상적인 컴포넌트에는 해당 뷰에서 일어나는 사용자의 행동에 관련된 로직만 두는 것이 좋다.
컴포넌트에는 화면에 사용되는 프로퍼티나 데이터 바인딩에 사용하는 메소드만 정의하는 것이 좋다.
컴포넌트는 템플릿이 렌더링된 뷰와 모델을 정의하는 애플리게이션 로직을 중개하는 역할만 하는 것이 좋다.
의존성으로 주입
서버에나 데이터를 가져오는 로직이나 사용자의 입력을 검증하는 로직, 콘솔에 로그를 출력하는 로직은 컴포넌트에 구현하지 않고 서비스로 구현하는 것이 좋다.
이런 기능을 의존성으로 주입할 수 있는 서비스 클래스에 정의하면, 여러 컴포넌트가 이 기능을 공통으로 사용할 수 있기 때문이다. 그리고 환경에 따라 서비스 프로바이더를 다르게 지정하면 애플리케이션을 다양한 환경에서 동작하도록 좀 더 유연하게 만들 수 있다.
앵귤러(Angular)가 이런 방식을 강제하는 것은 아니다. 하지만 앵귤러(Angular)가 제공하는 방식을 따르면 서비스를 의존성으로 주입하는 매커니즘을 활용할 수 있다.
'앵귤러(Angular) > 앵귤러(Angular) 시작하기' 카테고리의 다른 글
웹 앱 프레임워크 앵귤러(Angular) 애플리케이션 구조와 디렉토리 구조 (0) 2022.04.09 웹 앱 프레임워크 앵귤러(Angular) 컴포넌트 메타데이터 (0) 2022.04.08 웹 앱 프레임워크 앵귤러(Angular) 모듈 소개 (0) 2022.04.06 웹 앱 프레임워크 앵귤러(Angular) 최상위 모듈 메터데이터 프로퍼티 (0) 2022.04.05 웹 앱 프레임워크 앵귤러(Angular) 기본 개념 (0) 2022.03.31