팩터리 패턴
팩터리 클래스를 따로 둬서 객체 생성 방식을 캡슐화하는 디자인 패턴이다.
팩터리 패턴의 분류
- 단순 팩터리 패턴
- 팩터리 메서드 패턴
- 추상 팩터리 패턴 (복잡하기에 실제로 잘 사용되지 않음)
어디에 사용할 것인가?
객체 생성 과정이 복잡한 경우 객체 생성 프로세스를 캡슐화하고 객체 생성과 사용을 분리하여 코드의 복잡성을 줄이는 팩터리 패턴 사용을 고려할 수 있다.
- if 분기 판단 논리가 있고, 유형에 따라서 다른 객체를 동적으로 생성해야할 때
- 유형에 따라 다른 객체를 생성할 필요는 없지만, 단일 객체 자체의 생성 프로세스가 복잡한 경우
팩터리 패턴의 역할
- 팩터리 패턴을 사용하여 생성 과정을 캡슐화할 수 있다.
- 생성 과정을 재사용할 수 있다.
- 복잡한 생성 과정을 캡슐화하여, 객체 생성 방법을 몰라도 사용할 수 있다.
- 생성 과정과 사용 과정을 분리하여 간결한 코드를 만들 수 있다.