差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| study:java:design_pattern:factory [2008/08/16 05:15] – banana | study:java:design_pattern:factory [2010/10/29 01:37] (現在) – banana | ||
|---|---|---|---|
| 行 14: | 行 14: | ||
| 위에 있는 정의에도 나와 있지만, 다른 개발자들이 " | 위에 있는 정의에도 나와 있지만, 다른 개발자들이 " | ||
| - | {{: | + | {{: |
| + | |||
| + | {{keywords> | ||
| 行 22: | 行 24: | ||
| 뉴욕풍 피자를 만드는 뉴욕피자가게와 시카고풍 피자를 만드는 시카고피자가게를 만들고자 합니다. \\ **%%PizzaStore%%**에서는 | 뉴욕풍 피자를 만드는 뉴욕피자가게와 시카고풍 피자를 만드는 시카고피자가게를 만들고자 합니다. \\ **%%PizzaStore%%**에서는 | ||
| 어떤 피자를 만들지는 모릅니다. 어떤 피자를 만들지는 순전히 뉴욕피자가게(**%%NYPizzaStore%%**)와 시카고피자가게(**%%ChicagoPizzaStore%%**)가 결정하게 됩니다. | 어떤 피자를 만들지는 모릅니다. 어떤 피자를 만들지는 순전히 뉴욕피자가게(**%%NYPizzaStore%%**)와 시카고피자가게(**%%ChicagoPizzaStore%%**)가 결정하게 됩니다. | ||
| - | {{: | + | {{: |
| + | |||
| + | |||
| + | |||
| + | ====== the Definition of Abstract Factory Pattern ====== | ||
| + | 팩토리 메소드 패턴의 형제인 추상 팩토리 패턴을 소개합니다. 정의는 다음과 같습니다. | ||
| + | < | ||
| + | 추상 팩토리 패턴 - 추상 팩토리 패턴에서는 인터페이스를 이용하여 서로 연관된, | ||
| + | 또는 의존하는 객체를 구상 클래스를 지정하지 않고도 생성할 수 있습니다. | ||
| + | </ | ||
| + | |||
| + | 추상 팩토리 패턴을 사용하면, | ||
| + | 이때, 실제로 어떤 제품이 생산되는지는 전혀 알 필요도 없습니다. 따라서 클라이언트와 팩토리에서 생산되는 제품을 분리시킬 수 있습니다.\\ 클래스 다이어 그램을 살펴봅시다. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ===== An Example of Abstract Factory Pattern ===== | ||
| + | 이제 마지막으로 추상 팩토리 패턴을 구현한 예를 살펴봅시다. \\ 위의 클래스 다이어 그램에서 %%Client%%에 해당되는 것이 **%%PizzaStore%%**의 예에서 나온 **%%NYPizzaStore%%**나 **%%ChicagoPizzaStore%%**에 해당됩니다. | ||
| + | {{: | ||