일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- css
- frontend
- JPA
- hook
- RTK
- 티스토리챌린지
- Redux
- go
- typescript
- storybook
- javascript
- Chakra
- 웹애플리케이션서버
- backend
- Gin
- JavaSpring
- React
- 오블완
- satisfiles
- test
- ReactHooks
- golang
- java
- component
- designpatterns
- Spring
- tanstackquery
- springboot
- react-hook-form
- Today
- Total
목록designpatterns (3)
bkdragon's log
싱글톤 패턴은 하나의 클래스에 단 하나의 인스턴스만 존재하도록 보장하는 디자인 패턴이다. 이 패턴은 동일한 인스턴스를 공유함으로써 메모리 사용량을 줄이고, 특정 리소스를 여러 객체가 공유해야 할 때 유용하다.싱글톤 패턴 구현 방법타입스크립트로 싱글톤 패턴을 구현하는 방법은 아래와 같다:1. 클래스의 생성자를 private으로 설정하기private 생성자는 외부에서 클래스를 인스턴스화하는 것을 막아준다. 이를 통해 클래스 외부에서는 new 키워드로 새로운 인스턴스를 만들 수 없게 된다.2. 클래스 내부에서 static 변수를 통해 인스턴스를 저장하기static 변수는 클래스 자체에 종속되며, 인스턴스를 한번만 생성한 후 공유할 수 있도록 한다.3. 클래스 메서드를 통해 인스턴스 접근 제공getInstanc..
빌더 패턴은 복잡한 객체를 생성하는 클래스와 표현하는 클래스를 분리하여, 동일한 절차에서도 서로 다른 표현을 생성하는 방법을 제공한다.쉽게 말해 객체를 여러 단계에 걸처 만들 수 있다.구성 요소Director(디렉터): Builder를 사용하여 객체를 생성하는 클래스. 추상 팩토리 패턴의 Client와 비슷한 역할을 한다.Builder(빌더): 객체의 각 부분을 만드는 방법을 정의하는 인터페이스ConcreteBuilder(구체적인 빌더): Builder 인터페이스를 구현하여 실제 객체를 만드는 클래스Product(제품): Builder를 통해 만들어지는 최종 객체예시 코드피자를 예로 들건데, 현실에서도 피자를 주문할 떄 크기를 선택하거나 토핑을 추가하거나 도우를 선택하는 등의 절차가 있을 수 있다.// ..
팩토리 메서드 패턴인스턴스를 생성자 대신 팩토리 클래스의 추상 메서드로 생성하게 하는 패턴. 서브 클래스에서 오버라이드해서 생성 내용을 유연하게 변경할 수 있다.구성 요소Product(제품): 팩토리 메서드에 의해 생성되는 객체의 추상 클래스.ConcreteProduct(구체적인 제품): Product의 구현체.Creator(창조자): 팩토리 메서드를 선언하는 추상 클래스. 실제 인스턴스를 생성하는 추상 메서드를 가진다.ConcreteCreator(구체적인 창조자): Creator의 구현체, 팩토리 메서드를 구현하여 구체적인 인스턴스를 생성한다.예시 코드abstract class Animal { abstract speak(): string;}abstract class AnimalFood { a..