일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 알고리즘
- 딥러닝
- I'm Sorry
- 데이터분석
- 버전관리
- 네트워크보안
- 보안
- 데이터베이스
- 소프트웨어
- 웹개발
- 컴퓨터과학
- 빅데이터
- 자바스크립트
- Yes
- 소프트웨어공학
- 네트워크
- 데이터구조
- Today
- Total
목록GoF (14)
스택큐힙리스트
낡은 인터페이스 때문에 새 코드가 발목 잡힐 때, Adapter 패턴은 “변환 잭”처럼 두 세계를 연결해 줍니다. 아이폰 충전기에 C-타입 젠더를 꽂아 갤럭시를 충전하듯, 호환되지 않는 객체를 한 번에 맞춰 주는 것이죠.1. Adapter 패턴 한눈에 보기목적 : 기존 코드를 수정하지 않고도 서로 다른 인터페이스를 호환.역할Target : 클라이언트가 원하는 인터페이스Adaptee : 그대로 두고 싶은 레거시 객체Adapter : 둘을 이어 주는 중간 변환기대표 사례 : JDBC 드라이버가 각 DB를 단일 인터페이스로 묶는 방식2. 언제 쓰면 좋은가?레거시 API 교체가 어렵다 : 기존 라이브러리 메서드 시그니처가 바뀌기 힘든 경우서드파티 SDK 통합 : 외부 모듈이 내 코드 스타일과 맞지 않을 때다중 ..
GoF 구조 패턴(Structural Patterns) 중 Adapter와 Facade는 ‘낡은 인터페이스’와 ‘복잡한 서브시스템’을 한 번에 다루는 만능 열쇠다. 1️⃣ 왜 구조 패턴이 필요한가?Adapter 패턴은 ‘호환되지 않는 인터페이스’를 일치시켜 기존 코드를 재사용하게 해 준다. 특히 프론트엔드에서 백엔드 응답 형태가 제각각일 때 효과가 크다.Facade 패턴은 복잡한 하위 시스템을 단일 진입점으로 숨겨, 클라이언트 코드(컨트롤러·서비스·컴포넌트)의 결합도를 낮춘다.2️⃣ React에서 Adapter로 API 데이터 ‘갈아입히기’// src/adapters/userAdapter.tsexport interface UserDTO { id: string; name: string; avatarU..
내용왜 프로토타입(Prototype)인가?CLI Todo 앱에서 “매주 팀 회의”, “매일 운동”처럼 반복되는 Task를 만들 때마다 new Task()로 필드를 모두 채우면 지루하고 비효율적입니다. 프로토타입 패턴은 이미 준비된 객체를 복사 해서 새 인스턴스를 얻도록 해 주어, 클래스에 직접 의존하지 않고도 빠르게 객체를 만들 수 있게 합니다언제 빛을 발할까?생성 비용이 큰 객체: DB 쿼리나 네트워크 요청으로 초기화되는 무거운 객체를 여러 번 만들 때템플릿·프리셋이 많은 도메인: 일정, 문서·메일 템플릿처럼 기본값이 대부분 같은 경우런타임에 클래스가 확정되는 플러그인 구조: 클래스 정보를 모를 때도 복제가 가능Todo 앱 적용 예시 (Java)public class Task implements Clo..
“환경만 바꿔 끼우면 전(全) 레포지토리가 따라온다” 왜 Abstract Factory인가?CLI Todo 앱이 처음엔 로컬 파일에 데이터를 쓰다가, 팀 프로젝트로 커지면서 MySQL→REST API로 저장 방식을 바꾸게 됐다고 가정해 보죠. TaskRepository, UserRepository, TagRepository처럼 서로 연관된 객체 세트를 한 번에 교체해야 할 때, 클래스마다 new를 고치기 시작하면 지옥문이 열립니다.국내 개발자 커뮤니티에서 조회수가 높은 Inpa의 패턴 정리 글도 “추상 팩토리는 ‘제품 군’ 단위로 타입을 찍어내 확장성을 확보한다”는 점을 강조합니다.패턴 한 줄 정의서브클래스가 관련 객체 군을 생성하도록 위임해 클라이언트는 인터페이스만 의존하게 만드는 생성 패턴.Velog..