아키텍처 패턴
아키텍처 패턴은 아키텍처를 설계할 때 참조할 수 있는 전형적인 예제입니다. 그 종류에 대해 알아보겠습니다.
1. 레이어 패턴
- 시스템을 계층으로 구분
- 고전적인 방법
- 상위 계층 : 하위 계층에 대한 서비스 제공자
- 하위 계층 : 상위 계층의 클라이언트
ex) OSI 참조 모델
2. 클라이언트- 서버 패턴
- 서버 컴포넌트 1개, 클라이언트 컴포넌트 여러 개
- 사용자가 클라이언트를 통해 서버에 요청하는 방식
3. 파이프-필터 패턴
- 데이터 스트림 절차 각각을 필터로 캡슐화
- 앞 시스템의 결과물이 다음 시스템의 입력
- 데이터 변환, 버퍼링, 동기화에서 주로 사용
ex) UNIX의 쉘
4. 모델-뷰-컨트롤러 패턴
- 대화형 애플리케이션에 적합
- 컨트롤러 : 사용자 요청 입력
- 모델 : 핵심 기능 수행
- 뷰 : 출력
5. 마스터-슬레이브 패턴
- 슬레이브 컴포넌트에게 수행을 시킨 후 결과를 돌려받는 방식
ex) 장애 허용 시스템, 병렬 컴퓨팅 시스템
6. 브로커 패턴
- 사용자의 요청에 맞는 컴포넌트를 사용자와 연결해주는 방식
ex) 분산 환경 시스템
7. 피어-투-피어 패턴
- 피어(컴포넌트가 될 수도, 서버가 될 수도 있는 컴포넌트)를 사용
ex) 파일 공유 네트워크
8. 이벤트-버스 패턴
- 특정 채널에 이벤트 메시지를 발행하면, 해당 채널을 구독한 리스너들이 이벤트를 처리하는 방식
ex) 알림 서비스
9. 블랙보드 패턴
- 모든 컴포넌트들이 공유 데이터 저장소와 블랙보드 컴포넌트에 접근 가능
ex) 음성 인식, 차량 식별, 신호 해석
10. 인터프리터 패턴
- 코드 각 라인을 수행하는 법을 지정하는 방식
ex) 번역기, 컴파일러, 인터프리터