일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 사이버보안
- 데이터구조
- 파이썬
- 데이터분석
- 자바스크립트
- 소프트웨어공학
- 머신러닝
- 프로그래밍
- 알고리즘
- 컴퓨터과학
- 자료구조
- springboot
- 클라우드컴퓨팅
- 데이터과학
- 데이터베이스
- 컴퓨터비전
- 인공지능
- Yes
- 네트워크보안
- 빅데이터
- 컴퓨터공학
- 네트워크
- I'm Sorry
- 디자인패턴
- 프로그래밍언어
- 웹개발
- 딥러닝
- 버전관리
- 소프트웨어
- 보안
- Today
- Total
목록2025/07/18 (15)
스택큐힙리스트
왜 둘을 헷갈릴까?두 패턴 모두 ‘겉’만 바꿔서 클라이언트를 편하게 해 준다는 공통점이 있다. 하지만 목표가 다르다.Adapter : 기존 클래스 한두 개의 인터페이스만 변환해 호환성을 맞춘다. 스마트폰 C-타입 젠더처럼 “맞지 않는 잭”을 바꿔 끼우는 느낌.Facade : 여러 서브시스템을 하나의 단순한 인터페이스로 감싼다. 건물 정면(façade)만 보이게 해서 내부 배선을 숨기는 전략.핵심 차이, 한눈에 정리의도Adapter : “인터페이스 호환 안 되는데?” → 변환기 추가.Facade : “인터페이스가 너무 많아 복잡해!” → 정면 하나로 통합.스코프Adapter는 보통 단일 객체를 래핑한다.Facade는 여러 객체 혹은 모듈을 한데 묶는다.영향 범위Adapter 뒤에는 클래스 한두 개만 숨어 ..
내용‘Facade(퍼사드)’는 원래 프랑스어 façade에서 온 건축 용어로, 건물의 정면·외관을 가리킵니다. 즉 사람들이 가장 먼저 마주하는 단순하고 깔끔한 “얼굴”이죠.GoF가 이 단어를 차용해 Facade 패턴을 만들었습니다. 복잡한 서브시스템을 그대로 드러내지 않고, 정면 역할의 클래스 하나만 노출해 클라이언트가 내부 구조를 몰라도 되게 하자는 발상입니다. 실제 패턴 정의도 “복잡한 하위 인터페이스를 하나로 통합해 단순한 API를 제공”이라고 설명하죠.국내 인기 개발 블로그들 역시 “Facade는 ‘서비스 센터 창구’ 같은 것”이라고 비유합니다. 고객(클라이언트)은 접수창구만 통하면 되고, 창구 뒤에서는 재고, 결제, 배송 같은 세부 프로세스가 조용히 굴러갑니다. 이렇게 외부에는 단일 진입점만 보..
왜 또 Facade인가?서비스 레이어에 Repository가 열 댓 개씩 붙고, 컨트롤러가 여러 서비스·유틸을 직접 호출하기 시작하면 의존성 지옥이 열린다. Facade 패턴은 이런 상황을 ‘CS 상담원’처럼 중간에 세워 단순한 진입점 하나로 묶어 결합도를 확 줄인다.1️⃣ Facade 패턴, 핵심 개념정의 : 서브시스템의 여러 인터페이스를 하나로 통합해, 고수준 인터페이스만 노출하는 구조 패턴.효과 : 클라이언트는 내부 구조를 몰라도 되고, 변경은 Facade 뒤에서만 일어나므로 유지보수 위험이 급감한다.2️⃣ 언제 쓰면 딱 좋을까?서브 시스템·Repository가 과다해 테스트, 모킹 비용이 폭증할 때컨트롤러가 순환 참조를 유발할 만큼 많은 서비스를 부르는 상황레거시·외부 라이브러리 API를 숨겨 계..
레거시 코드를 뒤흔들지 않고, 로깅·캐싱·보안 같은 부가 기능을 플러그인처럼 꽂고 빼고 싶을 때—Decorator 패턴이 가장 우아한 해답입니다. 스프링 AOP가 동작하는 원리도 결국 데코레이터의 변주죠.1️⃣ 데코레이터 패턴, 5초 요약정의 : ‘원본(Component)’을 래핑해 호출을 위임(delegate)하면서, 전 후처리 로직으로 기능을 확장하는 구조 패턴.구성 요소Component : 클라이언트가 기대하는 인터페이스ConcreteComponent : 실제 핵심 기능Decorator : Component를 보유하며, 부가 기능을 더해 다시 Component 형태로 노출주요 효과 : 상속 없이 런타임에 새 기능 조립, OCP(개방·폐쇄 원칙) 준수.2️⃣ 백엔드에서 언제 빛나나?로깅·트랜잭션 관리..