[디자인패턴] 추상팩토리패턴(Abstract Factory pattern)

2016. 11. 17. 13:29프로그래밍/디자인패턴

    목차

추상팩토리패턴(Abstract Factory pattern)


객체를 생성할 때 객체를 구성하는 부분을 추상화하여 여러 서브클래스가 상속을 통해 구현하여 구성하는 부분을 동일하게 유지하는 방법

객체를 구성하는 클래스가 있을 때 생성 공정을 동일하고 구현 내용이 다를 때 메서드를 추상화하여 사용하는 것


  작성형식

[출처] http://jinsprogramming.wikispaces.com/Abstract+factory+pattern?showComments=1


Product 관련 코드


Factory 관련 코드


Factory 사용 코드


사용 예




 


abstract factory pattern 사용 장점

  • 추상 팩토리 클래스 패턴은 인터페이스 보다는 구조체에 접근할 수 있는 코드를 제공한다.
  • 추상 팩토리 클래스 패턴은 확장에 매우 용의한 패턴으로 쉽게 다른 서브 클래스들을 확장할 수 있다.
  • 추상 팩토리 클래스 패턴은 기존 팩토리 패턴의 if-else 로직에서 벗어날 수 있게 해준다.
하나의 기본 형태에 대해 굉장히 다양한 서브클래스를 제공해야 할때, 매우 유용한 패턴이라고 생각한다.
단순히 한가지 제품에 대한 다양한 제공 보다도 그 제품의 동작과 내부필드 객체마저 추상화된 객체들로 구성하여 코드의 유연함을 극대화 시킨 형태라고 볼 수 있다.

  참조

https://blog.seotory.com/post/2016/08/java-abstract-factory-pattern

[자바 디자인패턴(Java Design Pattern) #5] 추상 팩토리 패턴(Abstract Factory Pattern) - 제품군을 형성해 보자.