소프트웨어 아키텍처 패턴
아키텍처 설계 시 자주 등장하는 문제에 대한 전형적인 구조적 해결 방안 시스템 구조의 기본 틀을 제공하며,
서브시스템의 역할·관계·규칙 등을 정의함
- 소프트웨어 시스템의 구조를 표준화하고, 재사용성과 유지보수성을 향상
- 주요 아키텍처 패턴의 종류
- 레이어 패턴
- 클라이언트-서버 패턴
- 파이프-필터 패턴
- 모델-뷰-컨트롤러 패턴
레이어 패턴(Layers Pattern)
- 시스템을 기능별로 계층을로 구분하여 구성하는 고전적인 설계 방식
- 하위 계층은 상위 계층에 서비스를 제공하고, 상위 계층은 하위 계층의 클라이언트 역할을 수행
- 인접한 계층끼리만 통신
- ex) OSI 참조 모델
클라이언트-서버 패턴(Client-Server Pattern)
- 하나의 서버와 여러 클라이언트로 구성된 구조
- 클라이언트가 요청을 보내면 서버가 처리 후 응답
파이프-필터 패턴(Pipe-Filter Pattern)
- 데이터를 단계적으로 처리하는 일련의 필터로 구성하고, 파이프를 통해 결과를 전달
- 각 필터는 입력 데이터를 가공해 다음 필터로 전달
- 데이터 변환, 스트리밍 처리, 버퍼링, 동기화 등에 주로 사용
- ex) UNIX의 쉴(Sell)
모델-뷰-컨트롤러 패턴(MVC Pattern)
- 애플리케이션을 모델, 뷰, 컨트롤러로 구조화
- 컨트롤러가 입력을 받아 모델을 조작하고, 그 결과를 뷰에 반영
- 하난의 모델로 여러 뷰 관리 가능
- ex) 대화형 웹 애플리케이션

마스터-슬레이브 패턴(Master-Slave Pattern)
- Master가 작업을 여러 Slave에게 분산하고, 결과를 수집하여 처리하는 방식
- ex) 병렬 컴퓨팅 시스템, 장애 허용 시스템
브로커 패턴(Broker Pattern)
- 중개자(Broker)가 클라이언트 요청을 적절한 서비스 컴포넌트에 전달
- ex) 분산 환경 시스템
피어-투-피어 패턴(Peer-To-Peer Pattern)
- 각 노드(Peer)가 클라이언트이자 서버 역할을 동시에 수행
- ex) 파일 공유 네트워크
이벤트-버스 패턴(Event-Bus Pattern)
- 이벤트를 발행하고, 구독한 리스너가 해당 이벤트를 수신하는 구조
- ex) 알림 서비스, 채팅 시스템
블랙보드 패턴(Blackboard Pattern)
- 여러 컴포넌트가 공통 데이터 저장소를 공유하며 협력적으로 문제 해결
- ex) 음성 인식, 차량 식별, 신호 해석
인터프리터 패턴(Interpreter Pattern)
- 프로그램 코드의 각 문장을 해석하고 실행하는 규칙을 클래스별로 정의
- ex) 컴파일러, 스크립트 언어, 인터프리터
'정보처리기사' 카테고리의 다른 글
| 정보처리기사 실기 - 객체지향 분석 및 설계 정리(OOA, OMT, SOLID) (0) | 2025.11.05 |
|---|---|
| 정보처리기사 실기 - 객체지향의 구성요소와 특징 정리 (0) | 2025.11.05 |
| 정보처리기사 실기 - 소프트웨어 아키텍처 설계 원리 & 품질 속성 정리 (0) | 2025.11.05 |
| 정보처리기사 실기 - 개발 환경 구성 요소 및 구축 절차 정리 (0) | 2025.11.04 |
| 정보처리기사 실기 - 연계 테스트: 시스템 간 데이터 검증 절차 정리 (0) | 2025.11.03 |