Factory Method
; ResolutionSolver
; AuthticationProvider
; MonsterProvider
객체 생성 주도를 외부에서 입력받는 객체에 의지하게 한다.
새로운 타입 추가 시 추가되는 타입에 대해서만 최소한의 코드가 추가된다.
Pool
; SymbolCreator
; ParticleGenerator
많은 수의 프로토타입을 먼저 만들어서 풀을 만들고 그 풀안의 객체를 재사용한다.
메모리 재할당 방지. 캐시메모리 낭비 방지.
Prototype
; HeroProvider
; MonsterProvider
미리특정 객체를 만들어 놓고, 생성요청이 발생하면 처음부터 다시 만드는게 아닌, 만든 객체를 복사하여 돌려준다.
Builder
; PizzaBuilder
; Worldbuilder
초기화 단계가 복잡하고 다양할 수 있는 객체들에 한해, 중간 객체를 두어 이 단계를 필요에 맞게 수행하도록 한다.
전담하는 클래스를 두어 관련 변화를 해당 클래스로 제한/최소화 한다.
Singleton
; XXXManager
; UtilityClass
전 프로그램 영역에 걸쳐, 1회만 객체만 필요한 object에 사용한다.
전역으로 사용할 시 Dependency Inversion원칙이 깨지게 되므로, 주의해서 사용한다.
reference : https://refactoring.guru/design-patterns/creational-patterns
'Work & Programming > System Design' 카테고리의 다른 글
[Creational Pattern] - Singleton (0) | 2024.05.15 |
---|---|
[Creational Pattern] - Builder (0) | 2024.05.15 |
[Creational Pattern] - Abstract Factory (0) | 2024.05.15 |
[Structural Patterns] 특징과 사용례. (0) | 2024.04.07 |
[Architecting] Why would we need this? (0) | 2024.04.06 |