728x90
반응형
SMALL
계층화 패턴 (Layered Pattern)
- 정의: 시스템을 기능별로 여러 계층(layer) 으로 나누어, 각 계층이 인접한 계층과만 상호작용하도록 한 구조.
- 특징: 표현–비즈니스–데이터 등으로 분리되어 유지보수성과 재사용성↑
- 예시: 웹 애플리케이션의 3계층 구조 (UI → Service → DAO/DB)
클라이언트-서버 패턴 (Client–Server Pattern)
- 정의: 요청을 보내는 클라이언트와, 요청을 처리하는 서버로 역할을 분리한 구조.
- 특징: 중앙 집중형 구조, 보안·관리 용이, 네트워크 기반 분산 환경에 적합.
- 예시: 웹 브라우저(클라이언트) ↔ 웹 서버(서버)
마스터-슬레이브 패턴 (Master–Slave Pattern)
- 정의: 마스터(master)가 작업을 여러 슬레이브(slave)에 분배하고 결과를 통합하는 구조.
- 특징: 병렬 처리와 고가용성에 유리, 데이터 일관성 관리 중요.
- 예시: 데이터베이스 복제(마스터 DB ↔ 슬레이브 DB)
파이프-필터 패턴 (Pipe–Filter Pattern)
- 정의: 데이터를 여러 단계(필터)로 변환·처리하면서, 각 단계가 파이프(pipe)로 연결되는 구조.
- 특징: 각 단계가 독립적 → 유연한 재조합 가능.
- 예시: 컴파일러(어휘 분석 → 구문 분석 → 코드 생성)
브로커 패턴 (Broker Pattern)
- 정의: 클라이언트와 서버 간 통신을 중개하는 브로커가 요청·응답을 라우팅하는 구조.
- 특징: 분산 객체 시스템, 위치 투명성 제공, 서비스 등록/검색 가능.
- 예시: CORBA, RMI, 메시지 브로커(Mule, Kafka)
피어-투-피어 패턴 (Peer-to-Peer Pattern)
- 정의: 모든 노드가 동등한 역할(클라이언트이자 서버)을 하는 구조.
- 특징: 중앙 서버 없이 분산성과 확장성이 높음.
- 예시: 토렌트(P2P 파일공유), 블록체인 네트워크
이벤트-버스 패턴 (Event–Bus Pattern)
- 정의: 이벤트(event)를 중심으로 컴포넌트들이 느슨하게 연결되는 구조.
- 특징: 이벤트를 발행(Publish)하면 버스(Event Bus)를 통해 구독자(Subscriber)에게 전달됨.
- 예시: GUI 이벤트 처리, Kafka/Redis Pub-Sub, Spring Event 시스템
모델-뷰-컨트롤러 패턴 (Model–View–Controller Pattern, MVC)
- 정의: 데이터(Model), 화면(View), 제어(Controller)를 분리해 사용자 인터페이스를 설계하는 패턴.
- 특징: 관심사 분리로 유지보수 용이, UI·로직 독립.
- 예시: 웹 프레임워크(Spring MVC, Django, ASP.NET MVC)
728x90
반응형
LIST