팩토리 패턴 (Factory Pattern)

문딤·2022년 7월 18일
0

팩토리 패턴이란?

팩토리 메소드 패턴에서는 객체를 생성하기 위한 인터페이스를 정의하는데,
어떤 클래스의 인스턴스를 만들지는 서브 클래스에서 결정하게 만드는 패턴이다.

💨 사용시점
생성할 객체 타입을 예측할 수 없을 때
생성할 객체를 기술하는 책임을 서브클래스에게 정의
객체 생성의 책임을 서브클래스에 위임, 정보를 은닉하고자 할 때

팩토리 패턴의 장단점

⭕ 장점

  • 기존 코드를 수정하지 않고 새로운 인스턴스를 다른 방법으로 생성하도록 확장할 수 있다.
  • 코드가 간결해진다.
  • 병렬적 클래스 계층도를 연결하는 역활을 담당할 수 있다.

❌ 단점

  • 클래스가 많아진다.
  • 제품 클래스가 바뀔 때마다 새로운 서브클래스를 생성해야한다.
  • 클라이언트가 creator 클래스를 반드시 상속해 Product를 생성해야한다.

팩토리 패턴 예시

main 클래스를 변경하지 않고, 구현된 ooCreator클래스에서 변경하여 사용가능

추상 팩토리 패턴

서로 관련이 있는 객체들을 통째로 묶어서 팩토리 클래스로 만들고,
이들 팩토리를 조건에 따라 생성하도록 다시 팩토리를 만들어서 객체를 생성.

creator 클래스를 상속받아서 해당 기능에 대한 구현
create메소드에 필요한 알고리즘을 선언하고 단계적으로 구현

추상 팩토리 패턴과의 차이점

참고

템플릿 메소드 패턴,
https://cjw-awdsd.tistory.com/m/54
https://jusungpark.tistory.com/14
https://dev-youngjun.tistory.com/195

profile
풀스택개발자가 될래요

0개의 댓글