정처기 감자
SW 설계디자인패턴

검색

검색어를 입력해 개념, 문제, 필기를 찾습니다.

책임 연쇄 chain of responsibility 패턴 - 타입스크립트 예시

SW설계디자인패턴
읽는데 4분 소요
처음 쓰여진 날: 2025-09-01
마지막 수정일: 2025-11-03
조회수: —
선수학습(1개)
  • 정보처리기사 실기를 위한 디자인 패턴 암기 방법

요약

디자인 패턴 중 책임 연쇄 chain of responsibility 패턴을 타입스크립트 코드와 함께 알아봅니다.

책임 연쇄 (Chain of Responsibility) 패턴 요약

패턴 종류핵심 키워드
책임 연쇄 (Chain of Responsibility)요청을 처리할 수 있는 객체들을 체인(사슬)으로 연결, 요청이 들어오면 체인을 따라 순서대로 처리 기회를 넘기는 패턴
책임 연쇄 패턴 감자
책임 연쇄 패턴 감자

책임 연쇄 (Chain of Responsibility) 패턴

책임 연쇄 패턴은 요청을 처리할 수 있는 객체들을 체인(사슬)으로 연결하여, 요청이 들어오면 체인을 따라 순서대로 처리 기회를 넘기는 패턴입니다. 요청을 보내는 클라이언트는 체인의 시작점에만 요청을 전달할 뿐, 실제로 어떤 객체가 그 요청을 처리하는지는 알 필요가 없습니다.

이 패턴은 두 가지 대표적인 방식으로 활용될 수 있습니다.

  1. 독점적 처리: 체인을 따라가다 하나의 처리기가 요청을 처리하면 거기서 종료됩니다. (예: 승인/결재 시스템)
  2. 포괄적 처리: 하나의 요청을 여러 처리기가 모두 순차적으로 처리합니다. (예: 웹 프레임워크 미들웨어)

기본 구조

  • Handler: 모든 처리기(ConcreteHandler)가 구현해야 할 공통 인터페이스입니다. 다음 처리기를 연결하기 위한 setNext() 메서드와 요청을 처리하는 handle() 메서드를 정의합니다.
  • ConcreteHandler: Handler 인터페이스를 구현하는 구체적인 처리기입니다. handle() 메서드 내에서 자신의 역할을 수행하고, 다음 처리기에게 요청을 넘길지 결정합니다.
  • Client: 요청을 생성하고, 체인의 첫 번째 Handler에게 요청을 전달하는 역할을 합니다.

예시 1: 고객센터 문의 시스템 (독점적 처리)

이 예시는 체인을 따라가다 하나의 처리기가 요청을 처리하면 거기서 종료되는 방식입니다.

typescript
코드 하이라이팅 중…

클라이언트 코드에서 처리기들을 체인으로 엮고 요청을 보내면, 요청은 자신을 처리할 수 있는 단 하나의 핸들러를 만날 때까지 체인을 따라 이동합니다.

예시 2: 웹 서버 미들웨어 (포괄적 처리)

하나의 요청을 여러 처리기가 모두 순차적으로 처리하는 방식입니다. 각 처리기는 자신의 역할을 수행한 뒤, 요청을 종료시키지 않고 무조건 다음 처리기에게 전달하여 작업이 누적되도록 합니다.

typescript
코드 하이라이팅 중…

이처럼 단일 요청이 체인을 따라가며 인증, 로깅 등 여러 작업을 순차적으로 적용받는 구조를 만들 수 있습니다.

책임 연쇄 패턴 중요 키워드

  • 요청자와 수신자를 분리하고, 수신자들을 사슬처럼 연결합니다.
  • 결합도를 낮춥니다: 요청자는 어떤 수신자가 요청을 처리하는지 알 필요가 없습니다.
  • 하나의 요청을 여러 객체가 처리할 수 있습니다. (미들웨어 방식)
  • 새로운 처리기를 추가하거나 순서를 변경하는 것이 유연합니다.
메가커피와 함께, 홈페이지 개선에 참여하세요! ☕
혹시 이용에 불편한 점이나 개선이 필요한 부분을 발견하셨나요? 댓글로 알려주시면 더 나은 감자가 될 수 있어요! 🥔 제보해주신 모든 분께 메가커피 기프티콘을 드립니다! (본인 이메일로 댓글 달아주셔야해요~)
후수학습(1개)
  • 디자인 패턴 정보처리기사 기출 문제 모음

추천 개념

Beta

관련 글

(41개)
제목태그업데이트시험
추상 팩토리 abstract factory 패턴 - 자바스크립트 예제
디자인패턴SW설계디자인패턴
2025-09-02-
빌더 builder 패턴 - 자바스크립트 예제
디자인패턴SW설계디자인패턴
2025-09-02-
팩토리 메서드 factory method 패턴 - 자바스크립트 예제
디자인패턴SW설계디자인패턴
2025-11-03-
정처기 감자정처기 감자

정보처리기사 합격
도와줄라고 하는 감자

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 1회 이론 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 1회 이론 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매
© 2025 재현기획개발. All rights reserved.
  • 정처기 감자의 시작
  • 업데이트 로그
  • 개인정보 처리방침
  • 이용약관
상호명 : 재현기획개발 / 주소: 서울특별시 영등포구 영등포로 150, 지하1층 108호 L145 가라지(당산동1가, 생각공장 당산) / 대표: 김재현 / 전화: 010-8158-7127 / 통신판매업신고: 제2025-서울영등포-1569호 / 이메일: contact@edugamja.com / 사업자등록번호: 573-51-00999