01. Factory Pattern
Factory Method and Abstract Factory
Motivation
- Object creation logic becomes too convoluted
- Initializer is not descriptive
- name is alway init
- Cannot overload with same sets of arguments with different names
- Can turn into ‘optional parameter hell’
- Wholesale object creation (non-piecewise, unlike Builder) can be outsourced to
- A separate method (Factory Method)
- That may exist in a separate class (Factory)
- Can create hierarchy of factories with Abstract Factory
Factory: A Component responsible solely for the wholesale (not piecewise) creation of objects
동기 부여
- 객체 생성 로직이 너무 복잡해짐
- 이니셜라이저가 설명적이지 않음
- 이름은 항상 __init__입니다.
- 이름이 다른 동일한 인자 집합으로 오버로드할 수 없음
- ‘선택적 매개변수 지옥’으로 변할 수 있음
- 도매 객체 생성 (빌더와 달리 조각 단위가 아님)은 다음으로 아웃소싱할 수 있습니다.
- 별도의 메서드(팩토리 메서드)
- 별도의 클래스(Factory)에 존재할 수 있습니다.
- 추상 팩토리로 팩토리의 계층 구조 생성 가cl능
Factory: ‘객체의 도매 (조각 단위가 아닌) 생성만을 담당하는 컴포넌트’
댓글남기기