Factory Pattern

2019-07-21
Design Pattern

안녕하세요. 도미닉입니다.

오늘은 팩토리 패턴에 대해서 알아보겠습니다.

팩토리 패턴이란?

팩토리하면 어떤 것이 생각나시나요?

제품을 만드는 공장이 생각이 납니다.

팩토리 패턴은 인스턴스를 만드는 객체를 두는 패턴이라고 생각할 수 있습니다.

팩토리 패턴 구현

제가 예전에 작성한 도형을 만드는 팩토리 객체입니다.

소스를 보면 return 값으로 Figure 이라는 프로토콜 타입을 리턴하는 것을 알 수 있습니다.

하나의 프로토콜을 따르는 여러 객체 중에 적절한 것을 생성하고 리턴하는 것입니다.

getFigure 메소드의 매개변수인 coordinates 에 점의 배열의 요소가 하나면 MyPoint 객체를 생성하고 리턴합니다.

점이 2개면 직선, 3개면 삼각형, 4개면 사각형 객체를 생성하고 리턴합니다.

이런 식으로 객체를 생성하는 부분을 따로 뗴어놓고 관리하는 것이 팩토리 패턴입니다.

정리

팩토리 패턴으로 객체를 생성하고 Figure 이라는 프로토콜로 다형성을 구현할 수 있습니다.

이렇게 구성이 되면 5각형, 6각형이 추가된다고 하여도 각 객체만 Figure 인터페이스를 채택하고

팩토리 패턴으로 객체를 생성하는 소스만 수정하면 될 것입니다.

이상으로 팩토리 패턴에 대해서 알아봤습니다.

궁금하신 분은 댓글 달아주세요.

감사합니다.