본문 바로가기

Study/Design Pattern

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

정의(Definition)


 객체를 생성하기 위한 인터페이스를 정의함에 있어서 객체를 생성하는 부분을 서브 클래스(Sub-Class)에 위임하는 객체 지향 패턴. 

 쉽게 생각해 객체를 만들어내는 공장을 만드는 패턴이라 할 수 있다.


[UML로 표현된 팩토리 메소드]



특징(Features)


 - 장점 : 구조와 구현을 분리할 수 있어서 클래스 간의 결합도를 낮출 수 있다.

             팩토리 클래스만 관리하면 되므로 객체 생성에 대한 확장도 쉽게 구성할 수 있다.


 - 단점 : 객체가 늘어날 때마다 서브 클래스 재정의로 인한 불필요한 클래스를 생성해야할 수 있다.



예제(Example)


 - 요구 사항

* 김치와 김치 생성 과정을 구현

김치를 생성하기 전, 데이터베이스에서 김치 정보를 요청

중복된 김치 생성을 막기 위해서 데이터베이스에 김치 생성 로그를 남김

* 김치를 생성하는 주체를 분리해서 정의

* 김치는 interface로 다룸

김치는 made라는 메소드를 기본적으로 가짐

* 김치의 종류는 갓김치와 총각김치 존재



코드(Codes)


 



참고(Reference)


 - 




※ 정확하고 부드러운 태클은 언제나 환영입니다.