📘 정처기 공부
🟠 Tier 27 / 12

7 소프트웨어 아키텍처 패턴

시스템 전체의 뼈대를 정의하는 구조적 해법. 반복되는 설계 문제의 검증된 틀.

패턴설명특징
계층화(Layered)기능을 상하 계층으로 분리, 상위→하위 호출관심사 분리, OSI·TCP/IP가 대표. 유지보수 용이
클라이언트-서버서비스 요청(Client)과 제공(Server) 분리중앙 집중 자원 관리, 다대일 요청
파이프-필터(Pipe-Filter)데이터를 필터가 처리 후 파이프로 전달재사용·단계적 변환, 컴파일러·UNIX 파이프
MVC(Model-View-Controller)모델(데이터)·뷰(표현)·컨트롤러(제어) 분리UI와 로직 분리, 유지보수·병행개발 용이
브로커(Broker)분산 컴포넌트 사이를 중개자가 연결위치 투명성, 분산 시스템(CORBA)
이벤트-버스 / 발행-구독(Pub-Sub)발행자가 이벤트 발생, 구독자가 수신느슨한 결합, 비동기 처리
마스터-슬레이브마스터가 작업 분배, 슬레이브가 수행 후 반환병렬 처리·장애 허용(fault tolerance)
피어투피어(P2P)각 노드가 클라이언트이자 서버로 대등중앙 서버 없음, 파일 공유·블록체인
블랙보드(Blackboard)공유 저장소에 지식원들이 협력하며 해 도출정해진 해법 없는 문제(음성·영상 인식)
함정주의 아키텍처 패턴과 디자인 패턴(GoF)은 추상화 수준이 다르다. 아키텍처 패턴 = 시스템 전체 구조, 디자인 패턴 = 클래스·객체 수준의 세부 설계 해법.

✅ 자가점검

Q1. MVC 패턴의 3가지 구성요소는?

Model(데이터·비즈니스 로직) · View(화면 표현) · Controller(입력 처리, Model과 View 중재).