'FactoryMethod'에 해당되는 글 1건

[Design Pattern] 팩토리 메소드 패턴 (Factory Method)

팩토리 메소드 패턴 (Factory Method)?

  • 생성 패턴
  • SuperClass에서 인터페이스를 제공하고 SubClass에서 결정.

 

많은 설계는 FactoryMethod를 사용하는 것으로 시작하므로 알아두어야 좋다!

예를들어 아메리카노, 라떼 커피를 제조한다고 하자.


  • 커피 SuperClass
  • 아메리카노, 라떼 SubClass

커피 클래스

GetName() 가상함수를 추가하여 Coffee 추상클래스를 만들었다.

SubClass인 아메리카노, 라떼에서 GetName()을 구현.


  • 커피 생성 클래스 SuperClass
  • 아메리카노, 라떼 생성 클래스 SubClass

이번에도 FactoryMethod()를 가상함수로 만들었고, SubClass들에서 구현을 한다. 

생성클래스답게 new로 각 클래스의 객체를 생성한다.



장단점

장점

  • 객체를 생성하는 코드와 클라이언트 코드와 분리 가능하다.
  • 생성코드가 한 곳에 있기 때문에 유지보수가 쉽다. 

단점

  • 새로운 하위 클래스를 많이 만들어야 하기 때문에 코드가 더 복잡해질 수도 있다.