Creational Pattern 중 Factory method Pattern
GoF는 Design Pattern을 3가지 큰 분류로 나누었다.

그 세가지는


  • Creational Pattern
  • Structural Pattern
  • Behavioral Pattern
이다.


이번주 세미나에서는 GoF의 분류에 따른 23가지 Design Pattern에 대하여 살펴보았다.


그 중, Creational Pattern에 대하여 살짝 살펴볼까 한다.



Creational Pattern은 Class의 Instance를 생성하는 방법에 대한 Pattern이다.
GoF의 Creational Pattern에는 아래의 5가지가 있다.



  • Factory Method
  • Abstract Factory
  • Builder
  • Prototype
  • Singleton
 
각각에 대하여 살펴보면
Factory method Pattern은 instance를 생성하기 위한 interface를 정의하고,
실제 어떤 class의 instance를 생성할지는 sub class가 결정하게 된다.


 
<< image 출처 : http://www.dofactory.com/의 factory method pattern 중에서 >>


이를 위하여 Creator는 Product의 instance를 return하는 abstract method를 정의하며,
ConcrateCreator는 이 method를 override하여,
ConcreteProduct의 instance를 return하도록 구현하게 된다.

또한, Creator는 AnOperation에서 FactoryMethod를 통하여 product의 instance를 생성하고,
그 결과를 return하는 method를 구현하기도 한다.

public abstract class Pizza{ }      // product class
public class HotPizza extends Pizza{ }  // sub product class

public class CoolPizza extends Pizza{ } // sub product class

public abstract class PizzaCreator{    // Creator class
public Pizza orderPizza(){
    Pizza pizza;
    pizza.createPizza();
    ...
    return pizza;
}
protected abstract Pizza createPizza(); // factory method
}


public class HotPizzaCreator extends PizzaCreator{ // sub creator class
protected Pizza createPizza(){  // factory method
    return new HotPizza();
}
}

p.s ...
세미나 할 때, GoF의 Design pattern에 대해서 준비를 하기로 했었다...
그런데, 정리하고 보니 Simple Factory Pattern에 대해 발표하여 버렸던 것이었다...orz...
뭐, ppt에서 Factory Pattern이라고 적기는 했지만...

정리하다가 이런걸 발견하게 되어 낭패상황에 빠져버린....

오늘 creation pattern에대해 정리하려 했지만... 하나하기도 벅차다...ㅠ0ㅠ

by 나무귀신 | 2006/02/16 00:11 | Design Pattern | 트랙백 | 덧글(0)
트랙백 주소 : http://schoolor.egloos.com/tb/1444168
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글



< 이전페이지 다음페이지 >