티스토리 뷰

CS

아키텍처 패턴

beubeu95 2024. 1. 28. 18:07

아키텍처 패턴이란

  • 아키텍처를 설계할 때 참조할 수 있는 전형적인 해결 방식
  • 시간 단축 / 고품질 생산 가능 / 검증된 구조 / 의사소통 가능 / 유지보수 편의 / 예측 가능
  • 패턴 종류 : 레이어 패턴 / 크라이언트-서버 패턴 / 파이프-필터 패턴 / 모델 -뷰-컨트롤러 패턴

1) 레이어 패턴

  • 시스템을 계층으로 구분하여 구성(상위 계층 : 서비스 제공자 , 하위 계층 : 클라이언트)
  • 특징 : 변경 작업 용이
  • OSI 참조 모델이 대표적딘 레이어 패턴이다.

2) 클라이언트-서버 패턴

  • 하나의 서버와 다수의 클라이언트 컴포넌트로 구성되는 패턴
  • 클라이언트가 요청 / 서버가 응답
  • 서버는 클라이언트의 요청에 대비해 항상 대기 상태를 유지해야 한다.
  • 클라이어트와 서버는 동기화해야 하는 상황을 제외하고는 서로 독립적이다.

3) 파이프-필터 패턴

  • 서브시스템이 입력 데이터를 받아 처리하고 결과를 다음 서브시스템으로 넘겨주는 과정을 반복하는 패턴
  • 특징 : 재사용 용이 / 재배치 및 확장 용이
  • 데이터 변환, 버퍼링, 동기화 등에 주로 사용 (UNIX의 shell)

4) 모델-뷰-컨트롤러 패턴

  • 3개의 서브시스템으로 구조화한 패턴
  • 특징 : 각 부분은 별도 분리 / 여러 개의 뷰 만들기 가능
  • 대화형 어플리케이션에 적합 ( 온라인 쇼핑몰)

5) 마스터 - 슬레이브 패턴

  • 실시간 시스템에 사용
  • 마스터 프로세스는 스레이브 프로세스를 제어해야하기 때문에 주로 연산 , 통신, 조정을 책임진다.
  • 마스터와 슬레이브는 구조가 동일하기 때문에 기능도 동일하게 수행할 수 있다.

6) 피어-투-피어 패턴

  • 피어를 하나의 컴포넌트로 간주한다.
  • 피어는 서버가 될 수도, 클라이언트가 될 수도 있다.
  • 전형적인 멀티스레딩을 사용하는 방식의 패턴

'CS' 카테고리의 다른 글

객체지향  (0) 2024.01.28
소프트웨어 아키텍처  (0) 2024.01.28
스크럼 기법  (0) 2024.01.26
소프트웨어 생명주기  (0) 2024.01.26
Comments
최근에 올라온 글