This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| design_pattern:abstract_factory_pattern [2017/10/28 15:36] – [Concrete Factory2 - DivFactory] ledyx | design_pattern:abstract_factory_pattern [2021/02/07 03:24] (current) – [Abstract Factory Pattern] ledyx | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| * 부품의 구체적인 구현에는 주목하지 않고, **인터페이스(API)에 주목**. | * 부품의 구체적인 구현에는 주목하지 않고, **인터페이스(API)에 주목**. | ||
| * **추상적인 공장**(Abstract Factory)에서 **추상적인 부품**을 조립하고 **추상적인 제품**을 완성한다. | * **추상적인 공장**(Abstract Factory)에서 **추상적인 부품**을 조립하고 **추상적인 제품**을 완성한다. | ||
| + | * 많은 수의 연관된 하위 클래스를 특정 그룹으로 묶어 한번에 교체.\\ ex) 특정 라이브러리 배포시 OS별로 지원하는 기능이 다를 때, OS별 기능 변경을 통합적으로 변경. | ||
| - | {{tag> | + | {{tag> |
| = Factory = | = Factory = | ||
| Line 387: | Line 388: | ||
| = Client = | = Client = | ||
| - | <sxh java> | + | * <fc red> |
| + | * API만 이용! 말그대로 <fc red> | ||
| + | |||
| + | <sxh java ; highlight: [13]> | ||
| import factory.Factory; | import factory.Factory; | ||
| import factory.LinkItem; | import factory.LinkItem; | ||
| Line 428: | Line 432: | ||
| - | Page page = factory.createPage(className, | + | Page page = factory.createPage(className, |
| page.add(trary_community); | page.add(trary_community); | ||
| page.add(tray_searchEngine); | page.add(tray_searchEngine); | ||
| Line 464: | Line 468: | ||
| </ | </ | ||
| </ | </ | ||
| - | < | + | < |
| </ | </ | ||
| </ | </ | ||
| - | |||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | <li> | ||
| - | 커뮤니티 | ||
| - | <ul> | ||
| - | < | ||
| - | < | ||
| - | </ul> | ||
| - | </ | ||
| - | 검색 엔진 | ||
| - | <ul> | ||
| - | < | ||
| - | < | ||
| - | <li> | ||
| - | Naver | ||
| - | <ul> | ||
| - | < | ||
| - | < | ||
| - | </ul> | ||
| - | </ | ||
| - | </ | ||
| - | < | ||
| - | </ | ||
| Line 538: | Line 516: | ||
| <br> | <br> | ||
| </ | </ | ||
| - | < | + | < |
| </ | </ | ||
| </ | </ | ||
| - | |||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | <div> | ||
| - | <div style=" | ||
| - | < | ||
| - | |||
| - | <div> | ||
| - | < | ||
| - | |||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | <br> | ||
| - | |||
| - | <div style=" | ||
| - | < | ||
| - | |||
| - | <div> | ||
| - | < | ||
| - | |||
| - | < | ||
| - | |||
| - | <div style=" | ||
| - | < | ||
| - | |||
| - | <div> | ||
| - | < | ||
| - | |||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | <br> | ||
| - | </ | ||
| - | </ | ||
| - | <br> | ||
| - | </ | ||
| - | < | ||
| - | </ | ||
| - | |||