This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| design_pattern:factory_method_pattern [2017/10/27 11:52] – ledyx | design_pattern:factory_method_pattern [2021/02/07 03:26] (current) – [Factory Method Pattern] ledyx | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| 하위 클래스에서 인스턴스 작성 | 하위 클래스에서 인스턴스 작성 | ||
| * 상위 클래스에서 인스턴스 작성법의 뼈대를 세우고, 구체적인 작성은 하위 클래스에서 실행. | * 상위 클래스에서 인스턴스 작성법의 뼈대를 세우고, 구체적인 작성은 하위 클래스에서 실행. | ||
| + | * [[template_method_pattern]]을 인스턴스 생성에 적용한 패턴. | ||
| - | {{tag> | + | {{tag> |
| = 인스턴스 생성을 위한 Framework(골격) 측 = | = 인스턴스 생성을 위한 Framework(골격) 측 = | ||
| - | <sxh java> | + | <sxh java ; title: |
| package framework; | package framework; | ||
| Line 14: | Line 15: | ||
| </ | </ | ||
| - | <sxh java> | + | <sxh java ; title: |
| package framework; | package framework; | ||
| + | /* 가장 핵심 부분! */ | ||
| public abstract class Factory { | public abstract class Factory { | ||
| public final Product create(String owner) { | public final Product create(String owner) { | ||
| Line 31: | Line 33: | ||
| = 구체적인 구현하고 있는 측 = | = 구체적인 구현하고 있는 측 = | ||
| - | <sxh java> | + | <sxh java ; title: |
| package product; | package product; | ||
| Line 54: | Line 56: | ||
| </ | </ | ||
| - | <sxh java> | + | <sxh java ; title: |
| package product; | package product; | ||
| Line 82: | Line 84: | ||
| </ | </ | ||
| - | = 실행 | + | = Client |
| <sxh java> | <sxh java> | ||
| import framework.*; | import framework.*; | ||