디자인 패턴 : 팩토리 메소드

정의

GoF의 디자인 패턴(p156)에서는 팩토리 메소드에 대한 패턴을 이렇게 정의한다.

객체 생성을 위한 인터페이스를 정의하지만, 어떤 클래스의 인스턴스를 생성할 지에 대한 결정은 서브클래스가 내리도록 한다.

내 생각

이 문구를 보고 이상한 점을 느꼈다.

그렇다면 팩토리 메소드 패턴과 추상 팩토리 패턴의 차이는 뭐지? 말장난인가?
아직 나의 식견이 좁아서 그런 걸 수도 있다. 다음에 이 생각에 변화가 생긴다면, 이 문서를 갱신할 계획이다.

어쨌든, 이 패턴을 이용하여 이루고자 하는 목적은 이렇다.

  • 마찬가지로 어플리케이션 코드와 결합도를 줄이기 위해서 추상화 타입을 반환한다.
  • 생성에 대한 책임을 구체 클래스를 가장 잘 아는 클래스에게 위임한다.

예제코드도 작성해보려고 시도해보았지만, 예제 코드를 작성할 수록 머릿속에서 충돌이 일어나서 결국 작성중이던 예제코드를 지웠다.

태그:

Back to Top ↑

댓글남기기