추상 팩토리 ( Abstract Factory ) 패턴 🔥 추상 팩토리 패턴은 객체 생성(Create) 패턴 중 하나로 서로 관련된 객체를 여러 개를 묶어 서 생성해 줄 팩토리 객체를 제공하는 방식이다. 객체 모델 AbstractFactory 구체적인 팩토리 를 추상화 하여 클라이언트 입장에서 ConcreateFactory 와 낮은 결합도(Loose coupling) 를 유지하기 위해 존재하는 추상화된 팩토리. 클라이언트와 팩토리가 낮은 결합도를 가진다는 것은 팩토리 확장이 쉽다는 의미. Product 구체적인 프로덕트를 추상화 하여 클라이언트 입장에서 ConcreatProduct 와 낮은 결합도(Loose coupling) 를 유지하기 위해 존재하는 추상화된 팩토리. 클라이언트와 프로덕트가 낮은 결합도..
싱글턴( Singleton ) 패턴 오직 단 한개의 Instance만 제공하는 클래스 Non Thread-Safe Singleton 생성방법 private constructor 를 통해 외부에서 new 키워드를 통해 인스턴스 생성을 할 수 없도록 막는다. 내부에서 단 하나의 인스턴스를 생성하고 메소드로 외부에 제공한다. 다만 이와 같은 방법은 getInstance() 는 단일 연산이 아니기 때문에 동시에 많은 쓰레드가 접근 하였을 때, 여러 개의 인스턴스가 생성될 수 있다. 따라서 아래와 같은 방법을 제공한다. Thread Safe Singleton Eager Initialization Singleton Eager Initialization( 이른 초기화 ) 방식을 통한 Singleton Object 생..
옵저버 패턴 (Observer Pattern) 🔥 다수의 구독자 객체 ( Subscribe Object )가 발행자 객체 ( Publish Object ) 상태 변화를 감지하고 알림을 받는 패턴 🔥 의존관계도 🎯 내용 여러 개의 Observer가 Subject에 구독(subscribe)하고 Subject 는 스스로의 변화가 감지될 때 자신에게 구독하고 있는 Observer 들에게 이 변화 사실을 알린(notify)다. 이러한 방식을 통해 각 Observer 들이 Subject 에게 변화가 있는지 확인할 필요가 없어지기 때문에 Observer 의 수가 다 수일 때도 효율적으로 변화 사실을 알릴 수 있다. 🎭 예시 여러 명의 유튜브 유저가 유튜브 채널에 구독하고 유튜브 채널은 영상이 올라 올 때 자신에게 구..
API Gateway Pre & Post Custom Filter 설정 Pre-filtes ( 사전 필터 ) 요청이 목적지로 라우팅되기 전에 호출되는 필터이다. [일반적인 사용 사례] 요청 메시지 검증(Validation) 처리 요청 권한이 있는 계정인지 인증하는 작업 ( 게이트 키퍼 ) Post-filtes ( 사후 필터 ) 서비스 호출후 클라이언트에게 응답이 나가기 전에 호출된다. 일반적으로 응답을 아카이빙하거나 오류 처리및 응답 검사에 사용된다. [일반적인 사용 사례] 응답 시 응답내용을 아카이빙한다. 응답이 정상적인지 검사하고 오류가 발생했을 때 오류처리한다. 예제 코드 설정 전제 Eureka 를 사용한 서비스 디스커버리가 존재한다고 가정한다. User Service와 Order Service의 ..
- Total
- Today
- Yesterday
- 메모리 단편화
- 클린 아키텍처
- 동적 디스패치
- ATDD
- 외부 단편화
- 육각형 아키텍처
- 뾰족함
- Object Pool
- Sticky Session
- SpringBoot 2.2
- 컴포짓 패턴
- 메모리 파편화
- 동적 타입 언어
- pass by reference
- 수평 분할
- 정적 타입 언어
- 객체 풀
- multimap
- Session
- pass by value
- OOP
- 수직 분할
- 내부 단편화
- 장애 해결기
- Memory Fragmentation
- RestAssured
- 세션 불일치
- pool
- Clean Architecture
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |