이런 왜이렇게 이름이 비슷한가요!!!!!!!!!!!!!!!!!!!!!!!!!
기록용 + 컨닝페이퍼용으로 저장해두기로 했다.
GPT햄에게 요약을 맡겼다.
컨테이너 (Container)
- 정의: 객체의 생명주기와 의존성을 관리하는 시스템입니다.
- 예시:
- Spring IoC 컨테이너: 애플리케이션의 빈(bean)을 생성하고, 그 빈들의 의존성을 주입하며, 빈의 생명주기를 관리합니다.
- Servlet 컨테이너: 서블릿의 생명주기와 요청/응답을 관리합니다.
- 역할:
- 객체를 생성하고 관리합니다.
- 의존성을 주입합니다.
- 객체의 생명주기를 관리합니다.
컴포넌트 (Component)
- 정의: 독립적으로 실행 가능한 모듈로, 시스템의 특정 기능을 담당합니다.
- 예시:
- Spring 컴포넌트: @Component 어노테이션을 사용하여 Spring 컨테이너에 의해 관리되는 빈(bean)을 정의합니다.
- UI 컴포넌트: 버튼, 텍스트 필드, 체크박스 등과 같은 그래픽 사용자 인터페이스(GUI) 요소들입니다.
- 역할:
- 시스템의 특정 기능을 담당합니다.
- 재사용 가능하고 독립적으로 실행됩니다.
컨텍스트 (Context)
- 정의: 애플리케이션 환경 설정이나 상태를 포함하는 객체로, 실행 중인 애플리케이션의 정보와 자원을 제공합니다.
- 예시:
- Spring ApplicationContext: 애플리케이션의 설정 정보를 포함하고, 빈을 생성 및 관리하며, 의존성을 주입합니다.
- ServletContext: 웹 애플리케이션의 설정 정보를 포함하고, 서블릿 간의 데이터를 공유합니다.
- 역할:
- 애플리케이션의 환경 설정을 제공합니다.
- 애플리케이션의 상태와 자원을 관리합니다.
컴포지트 (Composite)
- 정의: 객체들을 트리 구조로 구성하여 개별 객체와 그 객체의 집합을 동일하게 취급할 수 있도록 하는 디자인 패턴입니다.
- 예시:
- 컴포지트 패턴: 파일 시스템에서 파일과 디렉토리를 동일한 방식으로 다루는 것처럼, 개별 객체와 복합 객체를 동일하게 다루는 디자인 패턴입니다.
- 역할:
- 개별 객체와 복합 객체를 동일하게 다룰 수 있도록 합니다.
- 트리 구조로 객체를 구성하여 복잡한 계층 구조를 단순화합니다.
요약
- 컨테이너 (Container):
- 목적: 객체의 생명주기와 의존성을 관리합니다.
- 예시: Spring IoC 컨테이너, Servlet 컨테이너
- 컴포넌트 (Component):
- 목적: 독립적으로 실행 가능한 모듈로, 시스템의 특정 기능을 담당합니다.
- 예시: Spring 컴포넌트, UI 컴포넌트
- 컨텍스트 (Context):
- 목적: 애플리케이션 환경 설정이나 상태를 포함하는 객체로, 실행 중인 애플리케이션의 정보와 자원을 제공합니다.
- 예시: Spring ApplicationContext, ServletContext
- 컴포지트 (Composite):
- 목적: 객체들을 트리 구조로 구성하여 개별 객체와 그 객체의 집합을 동일하게 취급할 수 있도록 합니다.
- 예시: 컴포지트 패턴 (파일 시스템에서 파일과 디렉토리를 동일하게 다루는 것처럼)
'java' 카테고리의 다른 글
전략, 옵저버, 팩토리메소드, 데코레이터, 템플릿, 데코레이터 패턴 (2) | 2024.07.24 |
---|---|
자바 백엔드에서 자주 사용되는 디자인 패턴 조합 (1) | 2024.07.23 |
디자인패턴이 주로 사용되는 섹터 정리(GPT)(기록용) (0) | 2024.07.19 |
추상 팩토리 패턴과 의존성 뒤집기 (0) | 2024.07.17 |
추상 팩토리 패턴 (0) | 2024.07.17 |