[디자인 패턴] 팩토리 메서드 패턴 vs 추상 팩토리 패턴

듀듀·2023년 6월 13일
1

  • 팩토리 메서드 패턴은 각각 다른 객체들이 필요할 때 사용
  • 추상 팩토리 패턴은 서로 연관 있는 객체들의 조합이 필요할 때 사용

공통점

둘 다 추상화, 캡슐화를 통해 팩토리를 만든다는 점

차이점

추상 팩토리 패턴이 연관되어있는 로직끼리 조금 더 세밀하게 추상화시킨다는 점.

  • 팩토리 메서드 패턴이 조건에 따라 객체 생성을 팩토리 클래스로 위임하여, 팩토리 클래스에서 객체를 생성하는 패턴이었다면
  • 추상 팩토리 패턴은 서로 관련이 있는 객체들을 묶어서 팩토리 클래스로 만들고, 해당 팩토리를 조건에 따라 생성하게 되는 새로운 팩토리를 만들어 객체를 생성한다.

[팩토리 메서드 패턴]

  • 팩토리 메서드 패턴은 클라이언트가 특정 객체의 생성을 직접 생성하지 않고 팩토리 역할을 하는 객체에 위임하는 패턴이다.
  • 팩토리는 인터페이스로 추상화되어 구체 팩토리의 변경을 유연하게 한다.
  • 구체 팩토리는 추상화된 객체를 생성한다. 이는 클라이언트와의 결합을 낮추고, 생성 객체의 확장성과 변경 용이를 보장한다.
  • 클라이언트는 결과적으로 어떤 객체가 생성될 것인지 알 필요가 없는 것이 특징.

[추상 팩토리 패턴]

  • 추상 팩토리 패턴은 특정 그룹에 속하는 여러 객체들을 하나의 팩토리로 묶어서 생성할 수 있는 패턴.
  • 추상화된 팩토리를 이용하여 특정 그룹의 요소 객체들을 생성할 수 있는 메서드를 정의한다.
  • 추상화 팩토리를 구현한 구체 클래스는, 구체 클래스의 특성에 따라 구체화된 요소 객체들을 반환하도록 구현한다.
  • 팩토리와 요소 객체들을 추상화하여 클라이언트와의 결합을 느슨하게 한다.
profile
나는 내 의지대로 된다.

0개의 댓글