팩토리 메소드 패턴 ( Factory Method Pattern ) 💡 다양한 구현체(Product)가 있고, 그 중에서도 특정한 구현체를 만들 수 있는 다양한 팩토리(Creator)를 제공하는 패턴. 상위 타입만 알고도 감춰진 구현체들을 생성할 수 있게 도와주는 Factory를 중간에 두어 새로운 구현체 추가를 위해 기존 코드 수정이 필요 없도록 한다. 팩토리 메소드 패턴 컴파일 의존관계 새로운 구현체(Product) 확장 후 의존관계 팩토리 메소드 패턴 런타임 의존관계 팩토리 메서드 패턴 구현 클래스간 의존 관계도 Client public class Client { private final PhoneFactory phoneFactory; public Client(PhoneFactory phoneFac..
추상 팩토리 ( 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 의 수가 다 수일 때도 효율적으로 변화 사실을 알릴 수 있다. 🎭 예시 여러 명의 유튜브 유저가 유튜브 채널에 구독하고 유튜브 채널은 영상이 올라 올 때 자신에게 구..
- Total
- Today
- Yesterday
- Clean Architecture
- RestAssured
- 육각형 아키텍처
- pass by reference
- Memory Fragmentation
- 객체 풀
- 수직 분할
- 내부 단편화
- 정적 타입 언어
- 장애 해결기
- 동적 타입 언어
- 뾰족함
- 동적 디스패치
- Session
- 세션 불일치
- pool
- Object Pool
- 클린 아키텍처
- SpringBoot 2.2
- 수평 분할
- 메모리 단편화
- ATDD
- 컴포짓 패턴
- java
- 메모리 파편화
- 외부 단편화
- OOP
- multimap
- pass by value
- Sticky Session
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |