팩토리 메소드 패턴

Jmnote (토론 | 기여)님의 2013년 2월 25일 (월) 22:11 판 (Factory method 패턴 문서를 Factory Method 패턴(으)로 옮김)

1 개요

factory method pattern; factory method
팩토리 메소드 패턴, 팩토리 메서드
  • 하위클래스에서 인스턴스 생성하도록 하는 구조
  • 공장에서 제품을 만들어내듯, OO공장 인스턴스가 OO을 만들어내는 구조
  • 추상 단계[1]에서는 생성하려는 객체의 클래스를 정확히 지정하지 않음

FactoryMethod.svg

2 예제 (java)

public class MazeGame {
  public MazeGame() {
     Room room1 = makeRoom();
     Room room2 = makeRoom();
     room1.connect(room2);
     this.addRoom(room1);
     this.addRoom(room2);
  }
 
  protected Room makeRoom() {
     return new OrdinaryRoom();
  }
}
public class MagicMazeGame extends MazeGame {
  @Override
  protected Room makeRoom() {
      return new MagicRoom();
  }
}

3 같이 보기

4 주석

  1. interface 또는 abstract class

5 참고 자료

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}