728x90
반응형

디자인 패턴 2

[NestJS] Strategy Pattern (전략 패턴)

1. 서론전략 패턴에 대해서는 간단하게 알고 있었지만 한동안은 if-else 문 혹은 switch 문과의 차이를 크게 못 느꼈었다. 그러다가 실무에서 어떤 환경이 주어졌을 때 전략 패턴이 떠올랐고 적용하면서 이점을 느끼게 되어 기록하게 되었다. 실무에서 NestJS를 사용 중이기에 제목과 예시 코드가 NestJS 이지만 디자인 패턴 중 하나인 만큼 어디에도 적용이 가능할 것이다. 2. 본론정의Strategy Pattern (전략 패턴)은 객체의 행위를 정의하는 방법 중 하나알고리즘을 정의하고 이를 캡슐화하여 클라이언트 코드에서 독립적으로 사용할 수 있도록 하는 디자인 패턴여러 알고리즘을 정의하고, 그 알고리즘을 동적으로 선택하여 사용주요 구성 요소Context: 전략을 사용하는 클라이언트 객체Strate..

웹, 앱 2024.11.13

면접을 위한 CS 전공지식 노트: 1장 디자인 패턴과 프로그래밍 패러다임

1.1 디자인 패턴 1. 싱글톤 패턴(Singleton Pattern): 하나의 클래스에 하나의 인스턴스만 가지는 패턴. 데이터베이스 연결 모듈에 많이 사용. 인스턴스 생성 비용을 줄일 수 있지만 의존성이 증가하는 문제. 1-1. 단점: TDD(Test Driven Development)시 불리: TDD 시에는 보통 테스트가 서로 독립적이어야 하는데 싱글톤 패턴은 미리 생성된 하나의 인스턴스를 기반으로 구현하는 패턴이므로 각 테스트마다 독립적인 인스턴스 생성이 어려움 1-2. 의존성 주입(DI, Dependency Injection): 의존성이 증가하는 문제를 해결 ※ 의존성 주입 원칙: 상위 모듈은 하위 모듈에서 어떠한 것도 가져올 수 없음. 둘 다 추상화에 의존해야 하며, 이때 추상화는 세부 사항에 ..

728x90
반응형