Writing /volume1/Web/Public/dokuwiki/data/log/deprecated/2024-11-15.log failed

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
study:java:design_pattern:factory [2008/08/16 05:15] bananastudy:java:design_pattern:factory [2010/10/29 01:37] (現在) banana
行 14: 行 14:
 위에 있는 정의에도 나와 있지만, 다른 개발자들이 "팩토리 메소드 패턴에서는 어떤 클래스의 인스턴스를 만들지를 서브 클래스에서 결정한다"라고 하는 얘기를 종종 듣게 될 것입니다.\\ 여기에서 "결정한다"라는 표현을 쓰는 이유는, 이 패턴을 사용할 때 서브클래스에서 실행중에 어떤 클래스의 인스턴스를 만들지를 결정하기 때문이 아니라, 생산자 클래스 자체가 실제 생산될 제품에 대한 사전지식이 전혀 없이 만들어지기 때문입니다.\\ 사실 더 정확하게 표현하자면, 사용하는 서브 클래스에 따라 생산되는 객체 인스턴스가 결정될 것입니다. 위에 있는 정의에도 나와 있지만, 다른 개발자들이 "팩토리 메소드 패턴에서는 어떤 클래스의 인스턴스를 만들지를 서브 클래스에서 결정한다"라고 하는 얘기를 종종 듣게 될 것입니다.\\ 여기에서 "결정한다"라는 표현을 쓰는 이유는, 이 패턴을 사용할 때 서브클래스에서 실행중에 어떤 클래스의 인스턴스를 만들지를 결정하기 때문이 아니라, 생산자 클래스 자체가 실제 생산될 제품에 대한 사전지식이 전혀 없이 만들어지기 때문입니다.\\ 사실 더 정확하게 표현하자면, 사용하는 서브 클래스에 따라 생산되는 객체 인스턴스가 결정될 것입니다.
  
-{{:study:java:design_pattern:factory_method.jpg|}}+{{:study:java:design_pattern:factory_method.jpg|Factory Method}} 
 + 
 +{{keywords>Factory Method Pattern Abstract Factory}}
  
  
行 22: 行 24:
 뉴욕풍 피자를 만드는 뉴욕피자가게와 시카고풍 피자를 만드는 시카고피자가게를 만들고자 합니다. \\ **%%PizzaStore%%**에서는 뉴욕풍 피자를 만드는 뉴욕피자가게와 시카고풍 피자를 만드는 시카고피자가게를 만들고자 합니다. \\ **%%PizzaStore%%**에서는
 어떤 피자를 만들지는 모릅니다. 어떤 피자를 만들지는 순전히 뉴욕피자가게(**%%NYPizzaStore%%**)와 시카고피자가게(**%%ChicagoPizzaStore%%**)가 결정하게 됩니다. 어떤 피자를 만들지는 모릅니다. 어떤 피자를 만들지는 순전히 뉴욕피자가게(**%%NYPizzaStore%%**)와 시카고피자가게(**%%ChicagoPizzaStore%%**)가 결정하게 됩니다.
-{{:study:java:design_pattern:pizzastore.jpg|}}+{{:study:java:design_pattern:pizzastore.jpg|Pizza Store}} 
 + 
 + 
 + 
 +====== the Definition of Abstract Factory Pattern ====== 
 +팩토리 메소드 패턴의 형제인 추상 팩토리 패턴을 소개합니다. 정의는 다음과 같습니다. 
 +<code> 
 +추상 팩토리 패턴 - 추상 팩토리 패턴에서는 인터페이스를 이용하여 서로 연관된, 
 +또는 의존하는 객체를 구상 클래스를 지정하지 않고도 생성할 수 있습니다. 
 +</code> 
 + 
 +추상 팩토리 패턴을 사용하면, 클라이언트에서 추상 인터페이스를 통해서 일련의 제품들을 공급받을 수 있습니다.\\ 
 +이때, 실제로 어떤 제품이 생산되는지는 전혀 알 필요도 없습니다. 따라서 클라이언트와 팩토리에서 생산되는 제품을 분리시킬 수 있습니다.\\ 클래스 다이어 그램을 살펴봅시다. 
 + 
 +{{:study:java:design_pattern:abstract_factory.jpg|Abstract Factory}} 
 + 
  
 +===== An Example of Abstract Factory Pattern =====
 +이제 마지막으로 추상 팩토리 패턴을 구현한 예를 살펴봅시다. \\ 위의 클래스 다이어 그램에서 %%Client%%에 해당되는 것이 **%%PizzaStore%%**의 예에서 나온 **%%NYPizzaStore%%**나 **%%ChicagoPizzaStore%%**에 해당됩니다.
  
 +{{:study:java:design_pattern:pizzafactory.jpg|Pizza Factory}}

QR Code
QR Code study:java:design_pattern:factory (generated for current page)