[2021 정보처리기사 필기] 아키텍쳐 패턴
[정보처리기사 1과목 필기 예상 키워드] 목록으로 돌아가기 |
|
과목: 1. 소프트웨어 설계 챕터: 3장 어플리케이션 설계 키워드: 아키텍쳐 패턴 |
#아키텍처 패턴의 유형 |
아키텍처 패턴
아키텍처 패턴은 건축과 비교하면 이해가 쉽다. 예를 들어 오피스텔을 짓는다고 가정할 때, "오피스텔을 지을 때는 이런 재질의 골조가, 복도의 넓이는 이 정도, 층간 높이는 이만큼이 가장 적절하더라" 라는 오피스텔 설계에 대한 가이드라인이 존재한다면 이를 참조해 손쉽게 설계가 가능하다. 이 가이드라인이 바로 소프트웨어 설계에서는 아키텍처 패턴에 해당한다고 할 수 있다.
개요
- 문제 해결의 윤곽을 제시하고, 원칙과 지침의 역할. 스타일, 표준 아키텍처와도 같은 뜻
장점
- 개발 시간 단축, 품질 향상, 검증 편리, 소통 원활, 이해 용이, 예측 가능 등
아키텍쳐 패턴의 유형
레이어 패턴(계층화 패턴, Layers Pattern)
- 시스템을 계층구조(Layer)로 쌓아둔 전형적 패턴
- 각각의 상위, 하위 레이어끼리만 상호작용
- 특정 레이어만 유지보수하여 시스템 개선 가능
- ex) 네트워크 프로토콜
클라이언트-서버 패턴
- 서버(=1, 항시대기): 자원제공 / 클라이언트(=다수): 자원 요청
- 서버: 몬스터 생성 / 클라이언트: 몬스터 사냥 > 각자의 기능이 독립적으로 동작
파이프-필터 패턴
- 데이터의 흐름(스트림)의 각 단계를 파이프와 필터로 연결
- 파이프: 각 단계명 / 필터: 각 파이프를 통해 넘어온 데이터를 처리하고 캡슐화
- 앞 시스템의 처리 결과물을 파이프를 통해 전달받아 처리한 다음 그 결과물을 다시 파이프를 통해 다음 시스템으로 넘겨주는 패턴을 반복하는 것이 파이프-필터 패턴
- 재사용성, 확장성이 좋아 다양한 파이프라인 생성 가능
- 데이터 변환, 버퍼링, 동기화 등에 유리
모델-뷰-컨트롤러 패턴(MVC) (일반적인 *대화형 어플리케이션에 적합)
- 모델: 핵심 기능과 데이터 보관 / 컨트롤러: 입력 처리 / 뷰: 처리된 정보 표시(여러 형태의 뷰)
* 대화형 어플리케이션:
온라인 쇼핑몰 사이트나 스마트폰 앱과 같이 사용자의 요구가 발생하면 시스템이 이를 처리하고 반응하는 소프트웨어
마스터-슬레이브 패턴
- 마스터 컴포넌트가 지시한 일을 여러 슬레이브 컴포넌트가 병렬처리하여 결과를 취합
- 도중에 몇 개의 슬레이브가 고장나도 업무 처리에는 문제가 없음
브로커 패턴
- 클라이언트의 요청을 중간에서 브로커가 적절한 서버로 연결해주는 형식(서버 여러개=분산환경 시스템)
피어 투 피어 패턴(P2P)
- 서버와 클라이언트가 서로 역할을 바꿀 수 있는 형태(토렌트, 웹하드)
- 두 가지 일을 병렬로 수행하는 멀티스레딩(자원요청/제원제공)이 특징
이벤트-버스 패턴
-특정 이벤트를 발행하면 해당 채널(버스)를 구독하고 있는 리스너들이 이벤트를 받아서 처리하는 형식
블랙보드 패턴
-공유데이터를 관리하는 블랙보드에 접근하여 원하는 데이터를 찾는 형식(음성인식, 차량식별, 신호해석 등)
참고: 시나공 정보처리기사 필기 (저자: 강윤석, 김용갑, 김우경, 김정준 | 출판사: 길벗), 유튜브 주간컴공TV